en ny version af værktøjet til at modtage og sende data over netværket — , der giver mulighed for fleksibel forespørgselsdannelse med parametre som cookie, user_agent, referer og andre overskrifter. cURL understøtter HTTP, HTTPS, HTTP/2.0, HTTP/3, SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP og andre netværksprotokoller. Samtidigt blev der udgivet en opdatering til det parallelt udviklede bibliotek libcurl, som giver API til at udnytte alle cURL-funktioner i programmer skrevet i sprog som C, Perl, PHP, Python.
Den nye version inkluderer indstillingen «—retry-all-errors» for at forsøge at udføre operationer igen ved enhver fejl og fjerner to sårbarheder:
- tillader overskrivning af en lokal fil i systemet, når man tilgår en server, der kontrolleres af en angriber. Problemet opstår kun ved samtidig brug af indstillingerne «-J» («—remote-header-name») og «-i» («—head»). Indstillingen «-J» gør det muligt at gemme filen med det navn, der er angivet i headeren
«Content-Disposition». Hvis en fil med det navn allerede eksisterer, nægter programmet cURL som standard at overskrive den, men hvis indstillingen «-i» er aktiveret, brydes denne logik, og filen overskrives (skanningskontrollen udføres under modtagelsen af svarindholdet, men ved indstillingen «-i» vises HTTP-headerne først, og de sikres, før behandlingen af svarindholdet påbegyndes). Kun HTTP-headerne skrives til fil, men serveren kan returnere vilkårlige data i stedet for headerne, og disse vil blive skrevet. - kan føre til lækage af dele af visse adgangskoder til websitet (Basic, Digest, NTLM osv.) til DNS-serveren. Når der bruges et «@»-tegn i adgangskoden, der også anvendes som adskiller i URL'en, vil cURL ved HTTP-omdirigering sende en del af adgangskoden efter «@» sammen med domænet for at bestemme navnet. For eksempel, når adgangskoden «passw@rd123» og brugernavnet «dan» angives, vil cURL generere URL'en «https://dan:passw@rd123@example.com/path» i stedet for «https://dan:passwrd123@example.com/path» og sende anmodningen til opløsning af værten «rd123@example.com» i stedet for «example.com».
Problemet opstår, når supporten for relative HTTP-omdirigeringer aktiveres (de deaktiveres via CURLOPT_FOLLOWLOCATION). I tilfælde af brug af traditionelle DNS kan oplysninger om en del af adgangskoden blive indhentet af DNS-udbyderen og en angriber, der har mulighed for at opsnappe transitnetværkstrafik (selv hvis den oprindelige anmodning var via HTTPS, da DNS-trafik ikke er krypteret). Ved brug af DNS-over-HTTPS (DoH) begrænses lækagen til DoH-operatøren.
Kilde: opennet.ru
