CVE-2024-2004
NiskieCVSS 3.5Prawdopodobieństwo exploitacji (EPSS)
Wysokie ryzykoPercentyl 77 - wyżej niż 77% wszystkich znanych CVE
Streszczenie
Gdy opcja wyboru protokołów wyłącza wszystkie protokoły bez dodania jakichkolwiek innych, domyślny zestaw protokołów pozostaje w zestawie dozwolonych z powodu błędu w logice usuwania protokołów. Wada występuje tylko wtedy, gdy wybór protokołów wyłącza cały dostępny zestaw, co jest mało prawdopodobne w rzeczywistych scenariuszach; zespół bezpieczeństwa curl ocenił ją jako niskiej wagi.
Ocena ryzyka
Ryzyko jest niskie, ponieważ błąd występuje tylko w nietypowych konfiguracjach, które wyłączają wszystkie protokoły. W takich przypadkach może dojść do wykonania żądania przy użyciu protokołu, który miał być wyłączony.
Rekomendacja
Zaleca się aktualizację curl do wersji zawierającej poprawkę. Warto również zweryfikować skrypty i konfiguracje, które używają opcji --proto do wyłączania protokołów.
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)
When a protocol selection parameter option disables all protocols without adding any then the default set of protocols would remain in the allowed set due to an error in the logic for removing protocols. The below command would perform a request to curl.se with a plaintext protocol which has been explicitly disabled. curl --proto -all,-http http://curl.se The flaw is only present if the set of selected protocols disables the entire set of available protocols, in itself a command with no practical use and therefore unlikely to be encountered in real situations. The curl security team has thus assessed this to be low severity bug.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

