CVE-2024-7264
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Bardzo wysokie ryzykoPercentyl 97 - wyżej niż 97% wszystkich znanych CVE
Streszczenie
Funkcja GTime2str() w parserze ASN.1 biblioteki libcurl, używana do parsowania pola Generalized Time, może przy niepoprawnym składniowo polu użyć wartości -1 jako długości części ułamkowej czasu. Prowadzi to do wywołania strlen() na wskaźniku do bufora sterty, który nie jest zakończony znakiem null. Luka najprawdopodobniej powoduje awarię, ale może również spowodować zwrócenie zawartości sterty do aplikacji, gdy używane jest CURLINFO_CERTINFO.
Ocena ryzyka
Atakujący może zdalnie wywołać awarię aplikacji lub wyciek danych z pamięci sterty, co może prowadzić do ujawnienia poufnych informacji.
Rekomendacja
Zaktualizuj libcurl do wersji zawierającej poprawkę. Jeśli to niemożliwe, unikaj używania CURLINFO_CERTINFO z niezaufanymi certyfikatami.
Inne podatności w libcurl
Zobacz wszystkie- CVE-2017-1000254Wysokie
libcurl może odczytywać dane poza przydzielonym buforem pamięci podczas korzystania z FTP. Błąd w analizatorze ciągów dla nazwy katalogu może prowadzić do braku dodania bajtu NUL na końcu bufora, co skutkuje możliwością odczytu danych spoza przydzielonego obszaru pamięci.
- CVE-2016-5421Wysokie
Podatność typu use-after-free w libcurl przed wersją 7.50.1 pozwala atakującym na kontrolowanie, która konekcja jest używana, lub potencjalnie na wywołanie innych nieokreślonych skutków za pomocą nieznanych wektorów.
- CVE-2016-0755Wysokie
Funkcja ConnectionExists w lib/url.c w libcurl przed wersją 7.47.0 nieprawidłowo ponownie wykorzystuje połączenia proxy uwierzytelnione za pomocą NTLM, co może umożliwić zdalnym atakującym uwierzytelnienie jako inni użytkownicy poprzez odpowiednie żądanie.
- CVE-2026-92389Niskie
Maszyna stanów TFTP w libcurl nie weryfikuje przejść stanów względem żądanego kierunku transferu, akceptując odpowiedzi otwarcia serwera zarówno dla odczytu, jak i zapisu zamiennie. Złośliwy serwer TFTP może odpowiedzieć na żądanie pobrania w sposób wymuszający na kliencie tryb transmisji.
- CVE-2024-6197Wysokie
Parser ASN1 w libcurl zawiera funkcję utf8asn1str() używaną do parsowania łańcucha UTF-8 ASN.1. Może on wykryć nieprawidłowe pole i zwrócić błąd. Niestety, podczas tego procesu wywołuje również free() na 4-bajtowym buforze lokalnym na stosie. Większość nowoczesnych implementacji malloc wykrywa ten błąd i natychmiast przerywa działanie.
- CVE-2025-5025Średnie
libcurl obsługuje przypinanie klucza publicznego certyfikatu serwera dla transferów HTTPS. Z powodu pominięcia, sprawdzenie to nie jest wykonywane podczas łączenia z QUIC dla HTTP/3, gdy backend TLS to wolfSSL. Dokumentacja mówi, że opcja działa z wolfSSL, ale nie precyzuje, że nie działa dla QUIC.
- CVE-2025-4947Średnie
libcurl przypadkowo pomija weryfikację certyfikatu dla połączeń QUIC, gdy łączy się z hostem podanym jako adres IP w URL. W związku z tym nie wykrywa oszustów ani ataków man-in-the-middle.
- CVE-2024-6874Średnie
Funkcja curl_url_get() w libcurl oferuje konwersje punycode do i z IDN. Przy konwersji nazwy o dokładnie 256 bajtach, libcurl czyta poza buforem na stosie, gdy używany jest backend IDN macidn.
- CVE-2025-5399Średnie
Z powodu błędu w kodzie WebSocket w libcurl, złośliwy serwer może wysłać specjalnie spreparowany pakiet, który powoduje, że libcurl wpada w nieskończoną pętlę busy-loop. Aplikacja nie może uciec z tej pętli inaczej niż przez zabicie wątku/procesu. Może to być użyte do DoS.
- CVE-2026-86409Niskie
Ustawienie opcji CURLOPT_AWS_SIGV4 na NULL nie wyłącza uwierzytelniania SigV4, wbrew oczekiwaniom i dokumentacji. Kolejne żądanie wykonane na tym samym uchwycie nadal wysyła nagłówek Authorization: AWS4-HMAC-SHA256 do dowolnego adresu URL ustawionego później, ujawniając informacje o stanie.
Oryginalny opis (angielski, źródło NVD)
libcurl's ASN1 parser code has the `GTime2str()` function, used for parsing an ASN.1 Generalized Time field. If given an syntactically incorrect field, the parser might end up using -1 for the length of the *time fraction*, leading to a `strlen()` getting performed on a pointer to a heap buffer area that is not (purposely) null terminated. This flaw most likely leads to a crash, but can also lead to heap contents getting returned to the application when [CURLINFO_CERTINFO](https://curl.se/libcurl/c/CURLINFO_CERTINFO.html) is used.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

