Podatność typu double-free w bibliotece curl dotycząca logiki uwierzytelniania SASL pozwala na dwukrotne zwolnienie tego samego wskaźnika kontekstu GSASL. Błąd sklasyfikowany jako CRITICAL (CVSS 9.8) może być zdalnie wykorzystany bez uwierzytelnienia.
▸ Pokaż oryginał (EN)
The curl logic that works with SASL authentication could end up cleaning up the GSASL context *twice* without clearing the pointer in between, making it `free()` the same pointer twice.
Podczas obsługi uwierzytelniania SASL curl wykonuje operację czyszczenia kontekstu GSASL, jednak po pierwszym wywołaniu `free()` wskaźnik nie jest zerowany. W konsekwencji kod może ponownie wywołać `free()` na tym samym adresie pamięci, co stanowi klasyczny błąd CWE-415 (Double Free). Tego rodzaju błędy w zarządzaniu pamięcią mogą prowadzić do uszkodzenia sterty (heap corruption), co w praktyce otwiera drogę do wykonania arbitralnego kodu.
Atakujący może doprowadzić do uszkodzenia pamięci procesu curl, potencjalnie uzyskując możliwość zdalnego wykonania kodu (RCE), eskalacji uprawnień lub wywołania awarii aplikacji. Wektor sieciowy bez wymaganych uprawnień i interakcji użytkownika znacznie zwiększa ryzyko.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (https://curl.se/docs/CVE-2026-8925.html). Tymczasowo można rozważyć wyłączenie obsługi uwierzytelniania SASL/GSASL w środowiskach, gdzie nie jest wymagane.
Haxx Curl — wersje wskazane w referencjach producenta (curl.se/docs/CVE-2026-8925.html)
Szczegóły techniczne podatności zostały zgłoszone za pośrednictwem platformy HackerOne (raport #3735193).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HHaxx Curl
APPHaxx8.15.0 – 8.21.0 (bez)
Powiązane podatności
libcurl: błędne przekazywanie nagłówka Authorization Digest do innego hosta
Curl: obejście sprawdzania Public Suffix List przy parsowaniu cookies
Use-after-free w libcurl przy operacjach HTTP/2 stream-dependency
libcurl: błędna weryfikacja certyfikatu przy ponownym użyciu połączenia (CWE-295)
Haxx curl: błędne użycie hasła innego użytkownika z pliku .netrc