CVE-2026-9080
WysokieCVSS 7.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 - wyżej niż 33% wszystkich znanych CVE
Streszczenie
Wywołanie funkcji `curl_easy_pause()` wewnątrz callbacka `CURLMOPT_SOCKETFUNCTION` opartego na zdarzeniach powoduje podatność use-after-free. Libcurl próbuje zapisać flagę za pomocą wiszącego wskaźnika do struktury, tuż po zwolnieniu pamięci tego wskaźnika.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do zdalnego wykonania kodu lub spowodowania awarii aplikacji używającej libcurl, co prowadzi do naruszenia poufności, integralności lub dostępności systemu.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę libcurl do wersji, w której naprawiono tę podatność. Unikaj wywoływania `curl_easy_pause()` w callbacku `CURLMOPT_SOCKETFUNCTION` do czasu zastosowania łatki.
Inne podatności w libcurl
Zobacz wszystkie- CVE-2022-27782Wysokie
W bibliotece libcurl występuje problem z ponownym używaniem wcześniej utworzonych połączeń, nawet gdy zmieniono opcje związane z TLS lub SSH, które powinny zabraniać ponownego użycia. Niektóre ustawienia TLS i SSH nie były uwzględnione w sprawdzaniu zgodności konfiguracji, co ułatwiało dopasowanie.
- CVE-2022-27781Wysokie
libcurl oferuje opcję `CURLOPT_CERTINFO`, która pozwala aplikacjom na żądanie szczegółów dotyczących łańcucha certyfikatów serwera. Z powodu błędnej funkcji, złośliwy serwer może spowodować, że libcurl zbudowany z NSS utknie w nieskończonej pętli podczas próby pobrania tych informacji.
- CVE-2021-22926Wysokie
Aplikacje korzystające z libcurl mogą żądać użycia konkretnego certyfikatu klienta podczas transferu. W przypadku, gdy libcurl jest zbudowany z użyciem natywnej biblioteki TLS macOS Secure Transport, złośliwy użytkownik może podmienić certyfikat, co prowadzi do wysłania niewłaściwego certyfikatu klienta w procesie handshake TLS.
- 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-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-2024-2398Średnie
Podatność w bibliotece libcurl powoduje wyciek pamięci podczas obsługi push HTTP/2. Gdy aplikacja zezwala na push serwera, a liczba nagłówków przekracza limit 1000, libcurl przerywa push, ale nie zwalnia poprzednio zaalokowanych nagłówków.
- 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-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.
Oryginalny opis (angielski, źródło NVD)
Calling `curl_easy_pause()` within the event-based `CURLMOPT_SOCKETFUNCTION` callback triggers a use-after-free vulnerability, where libcurl attempts to store a flag using a dangling struct pointer immediately after that pointer's memory has been freed.

