Katalog CVE

CVE-2026-92388

KrytyczneCVSS 9.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.26%

Percentyl 17 - wyżej niż 17% wszystkich znanych CVE

Streszczenie

Gdy operacja wieloznacznego LIST przez FTP kończy się niepowodzeniem, libcurl pomija ścieżkę przywracania przeznaczoną dla udanych listowań, pozostawiając callback zapisu ustawiony na wewnętrzny parser listowania, a dane callbacku zapisu wskazujące bezpośrednio na uchwyt easy. Ponowne użycie tego uchwytu powoduje natychmiastową awarię, a sklonowanie go przez curl_easy_duphandle() kopiuje uszkodzony stan; zwolnienie oryginału i transfer na klonie powoduje use-after-free, a zmiana tylko CURLOPT_WRITEDATA prowadzi do type confusion.

Ocena ryzyka

Może dojść do awarii aplikacji, odczytu po zwolnieniu pamięci (use-after-free) lub zapisu danych serwera pod wskaźnik dostarczony przez aplikację, co potencjalnie umożliwia uszkodzenie pamięci. Ryzyko dotyczy aplikacji używających wieloznacznego LIST FTP i ponownie wykorzystujących uchwyty.

Rekomendacja

Zaktualizuj libcurl do wersji z poprawką. Unikaj ponownego używania uchwytów po nieudanej operacji wieloznacznego LIST FTP.

Inne podatności w libcurl

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

When an FTP wildcard `LIST` operation fails, libcurl omits the restoration path meant for successful listings, leaving the write callback set to the internal listing parser and the write callback data pointing directly to the easy handle. Subsequent reuse of this handle triggers an immediate crash, and cloning it via `curl_easy_duphandle()` copies this corrupted state into the duplicate. If the original handle is subsequently freed, executing a transfer on the cloned handle causes a heap use-after-free read against the dangling handle reference; alternatively, reusing the original or cloned handle while changing only `CURLOPT_WRITEDATA` (and omitting `CURLOPT_WRITEFUNCTION`) results in type confusion, forcing the internal parser to interpret incoming server response bytes into memory at the application-supplied write data pointer.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS