Krytyczna podatność use-after-free w bibliotece libcurl, dotycząca obsługi drzewa zależności strumieni HTTP/2. Błąd może prowadzić do wykonania dowolnego kodu lub przejęcia kontroli nad procesem aplikacji korzystającej z libcurl.
▸ Pokaż oryginał (EN)
A use-after-free vulnerability exists in libcurl when an application configures an HTTP/2 stream-dependency tree via `CURLOPT_STREAM_DEPENDS` or `CURLOPT_STREAM_DEPENDS_E`, subsequently invokes `curl_easy_reset()`, and finally terminates the handle with `curl_easy_cleanup()`. During this final cleanup phase, libcurl attempts to access and modify an internal structure that was already freed during the reset operation.
Podatność występuje, gdy aplikacja skonfiguruje drzewo zależności strumieni HTTP/2 za pomocą opcji `CURLOPT_STREAM_DEPENDS` lub `CURLOPT_STREAM_DEPENDS_E`, następnie wywoła `curl_easy_reset()`, a na końcu zwolni uchwyt przez `curl_easy_cleanup()`. Podczas tej ostatniej fazy czyszczenia libcurl próbuje uzyskać dostęp i zmodyfikować wewnętrzną strukturę, która została już zwolniona z pamięci podczas operacji reset. Skutkuje to dostępem do zwolnionego obszaru pamięci (use-after-free), co w zależności od stanu sterty może prowadzić do niekontrolowanego zachowania procesu.
Atakujący lub złośliwa odpowiedź serwera mogą doprowadzić do wykonania dowolnego kodu (RCE), ujawnienia poufnych danych z pamięci procesu lub jego awarii — przy braku wymaganych uprawnień po stronie atakującego (PR:N, UI:N).
Należy zastosować patche dostępne u producenta zgodnie z referencjami (https://curl.se/docs/CVE-2026-10536.html). Jako obejście tymczasowe należy unikać sekwencji wywołań: konfiguracja `CURLOPT_STREAM_DEPENDS`/`CURLOPT_STREAM_DEPENDS_E` → `curl_easy_reset()` → `curl_easy_cleanup()` do czasu aktualizacji biblioteki.
Biblioteka libcurl wchodząca w skład projektu Haxx Curl; konkretne wersje wskazane w referencjach producenta (https://curl.se/docs/CVE-2026-10536.html).
Podatność zgłoszona za pośrednictwem platformy HackerOne (raport #3751697).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HHaxx Curl
APPHaxx7.88.0 – 8.21.0 (bez)
Powiązane podatności
Curl: obejście sprawdzania Public Suffix List przy parsowaniu cookies
Double-free w obsłudze SASL/GSASL w Haxx Curl (CVE-2026-8925)
libcurl: błędna weryfikacja certyfikatu przy ponownym użyciu połączenia (CWE-295)
libcurl: błędne przekazywanie nagłówka Authorization Digest do innego hosta
Haxx curl: błędne użycie hasła innego użytkownika z pliku .netrc