CVE-2022-30115
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 69 - wyżej niż 69% wszystkich znanych CVE
Streszczenie
curl posiada mechanizm HSTS, który wymusza połączenie HTTPS nawet gdy w URL podano HTTP. Podatność pozwala obejść ten mechanizm, jeśli nazwa hosta w URL zawiera kropkę na końcu, a wpis w pamięci HSTS jej nie zawiera (lub odwrotnie).
Ocena ryzyka
Obejście HSTS może doprowadzić do nawiązania połączenia przez nieszyfrowane HTTP, co naraża dane uwierzytelniające i przesyłane informacje na przechwycenie przez atakującego w sieci.
Rekomendacja
Zaktualizuj curl do wersji zawierającej poprawkę. Do czasu aktualizacji unikaj używania nazw hostów z kropką na końcu w adresach URL.
Inne podatności w curl
Zobacz wszystkie- CVE-2024-9681Średnie
Gdy curl ma używać HSTS, czas wygaśnięcia dla subdomeny może nadpisać wpis w pamięci podręcznej domeny nadrzędnej, powodując wcześniejsze lub późniejsze wygaśnięcie niż zamierzono. Dotyczy to aplikacji używających HSTS i adresów URL z niebezpiecznym schematem HTTP://.
- CVE-2026-94265Krytyczne
Podczas przetwarzania przekierowania HTTP do adresu URL zawierającego komponent userinfo (username:password) curl może błędnie zachować i ponownie przesłać stan uwierzytelniania HTTP Negotiate oryginalnego hosta. W efekcie złośliwy serwer może wymusić na curl wysłanie świeżo wygenerowanego biletu Kerberos do niezaufanego hosta trzeciego, omijając ograniczenia zakresu domeny normalnie wymuszane przez brak opcji --location-trusted.
- CVE-2026-87866Krytyczne
Przy kompilacji z wolfSSL curl może pomyślnie zweryfikować hash przypiętego klucza publicznego względem klucza, którego peer TLS nie posiada. Podczas uzgadniania TLS wolfSSL weryfikuje połączenie, ale późniejsze ponowne parsowanie tego samego certyfikatu przez curl — oszukane przez zmanipulowane pole długości ważności — wyodrębnia i dopasowuje inny osadzony klucz, niepoprawnie autoryzując przypięty klucz publiczny.
- CVE-2026-87861Krytyczne
Przy użyciu poświadczeń użytkownika w tle żądanie HTTP skierowane do jednego originu może zostać wysłane przez połączenie wcześniej uwierzytelnione przez Negotiate dla innego originu. W rezultacie zamierzone poświadczenia żądania pozostają nieużyte.
- CVE-2026-86414Krytyczne
Złośliwy serwer proxy HTTP może nakłonić libcurl do wysłania poświadczeń originu (hasła Basic lub biletu Negotiate/Kerberos) do samego proxy. Osiąga to, odpowiadając na żądanie tunelu CONNECT kodem 401 z nagłówkiem WWW-Authenticate zamiast oczekiwanego 407 Proxy-Authenticate.
- CVE-2026-86413Krytyczne
Przy użyciu użytkownika w tle w pierwszym transferze z uwierzytelnianiem Negotiate i żądaniem podążania za przekierowaniami curl może przekazać szczegóły poświadczeń do niepowiązanego drugiego originu. Może to nastąpić, gdy serwer zażąda przekierowania do innego originu.
- CVE-2026-86411Krytyczne
Transfer ftp:// skonfigurowany z CURLUSESSL_NONE może ponownie użyć połączenia kontrolnego FTP z puli, które wcześniej zostało uaktualnione przez STARTTLS i uwierzytelnione certyfikatem klienta. Drugi uchwyt nie wykonuje nowego uzgadniania TLS ani nowego logowania FTP, więc serwer nadal autoryzuje go pod tożsamością certyfikatu pierwszego uchwytu.
- CVE-2026-8926Krytyczne
Gdy curl używa pliku .netrc do znalezienia poświadczeń i jednocześnie podano URL z nazwą użytkownika (bez hasła), curl może błędnie pobrać i użyć hasła innego użytkownika z .netrc dla tego hosta, jeśli nie ma dopasowania dla podanego użytkownika.
- CVE-2026-8925Krytyczne
W bibliotece curl wykryto podwójne zwolnienie pamięci (double-free) w mechanizmie uwierzytelniania SASL. Błąd powoduje, że kontekst GSASL jest czyszczony dwukrotnie bez wyzerowania wskaźnika, co prowadzi do wywołania funkcji free() na tym samym obszarze pamięci.
- CVE-2026-8924Krytyczne
Błąd w logice parsowania ciasteczek w curl pozwala złośliwemu serwerowi HTTP ustawiać "super cookies", które omijają sprawdzanie Public Suffix List, umożliwiając wstrzykiwanie ciasteczek do niepowiązanych domen trzecich.
Oryginalny opis (angielski, źródło NVD)
Using its HSTS support, curl can be instructed to use HTTPS directly insteadof using an insecure clear-text HTTP step even when HTTP is provided in theURL. This mechanism could be bypassed if the host name in the given URL used atrailing dot while not using one when it built the HSTS cache. Or the otherway around - by having the trailing dot in the HSTS cache and *not* using thetrailing dot in the URL.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

