CRITICAL🇬🇧 English

CVE-2026-10536

Use-after-free w libcurl przy operacjach HTTP/2 stream-dependency

CVSS 9.8pub. 2026-07-03upd. 2026-07-07

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.

🤖 Analiza AI
Jak działa

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.

Skutki

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).

Mitygacja

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.

Kogo dotyczy

Biblioteka libcurl wchodząca w skład projektu Haxx Curl; konkretne wersje wskazane w referencjach producenta (https://curl.se/docs/CVE-2026-10536.html).

Uwagi

Podatność zgłoszona za pośrednictwem platformy HackerOne (raport #3751697).

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Haxx Curl

    APP
    Haxx
    7.88.0 – 8.21.0 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Memory
CWE
Referencje

Powiązane podatności

CVE-2026-8924CRITICAL9.1PL ✓ten sam produkt

Curl: obejście sprawdzania Public Suffix List przy parsowaniu cookies

CVE-2026-8925CRITICAL9.8PL ✓ten sam produkt

Double-free w obsłudze SASL/GSASL w Haxx Curl (CVE-2026-8925)

CVE-2026-11564CRITICAL9.1PL ✓ten sam produkt

libcurl: błędna weryfikacja certyfikatu przy ponownym użyciu połączenia (CWE-295)

CVE-2026-11856CRITICAL9.8PL ✓ten sam produkt

libcurl: błędne przekazywanie nagłówka Authorization Digest do innego hosta

CVE-2026-8926CRITICAL9.1PL ✓ten sam produkt

Haxx curl: błędne użycie hasła innego użytkownika z pliku .netrc