CRITICAL✓ PATCH🇬🇧 English

CVE-2022-32221

libcurl: błędne użycie callback przy zmianie PUT na POST — wyciek danych lub use-after-free

CVSS 9.8v3.1pub. 2022-12-05upd. 2026-02-13

Biblioteka libcurl może nieprawidłowo korzystać z funkcji callback do odczytu danych (`CURLOPT_READFUNCTION`) podczas żądania POST, jeśli ten sam uchwyt był wcześniej używany do żądania PUT z tym callbackiem. Może to prowadzić do wysłania nieprawidłowych danych lub do błędu use-after-free, co czyni tę podatność krytyczną.

Pokaż oryginał (EN)

When doing HTTP(S) transfers, libcurl might erroneously use the read callback (`CURLOPT_READFUNCTION`) to ask for data to send, even when the `CURLOPT_POSTFIELDS` option has been set, if the same handle previously was used to issue a `PUT` request which used that callback. This flaw may surprise the application and cause it to misbehave and either send off the wrong data or use memory after free or similar in the subsequent `POST` request. The problem exists in the logic for a reused handle when it is changed from a PUT to a POST.

🤖 Analiza AI
Jak działa

Problem występuje w logice ponownego użycia uchwytu libcurl (handle reuse), gdy sesja jest przełączana z metody PUT na POST. Jeśli wcześniejsze żądanie PUT korzystało z callbacku `CURLOPT_READFUNCTION`, libcurl może błędnie wywołać ten callback również przy kolejnym żądaniu POST, nawet gdy ustawiono opcję `CURLOPT_POSTFIELDS`. Skutkuje to tym, że biblioteka odczytuje dane ze złego źródła — aplikacja może nieświadomie wysłać błędną treść lub odwołać się do już zwolnionego obszaru pamięci (use-after-free).

Skutki

Atakujący lub nieoczekiwane zachowanie aplikacji może prowadzić do ujawnienia poufnych danych (np. zawartości pamięci procesu) lub do niestabilności aplikacji wynikającej z use-after-free, co potencjalnie umożliwia wykonanie dowolnego kodu.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się aktualizację libcurl do wersji wolnej od tej podatności oraz unikanie ponownego użycia uchwytów curl przy zmianie metody HTTP z PUT na POST do czasu wdrożenia poprawki.

Kogo dotyczy

Haxx curl (wersje wskazane w referencjach producenta), NetApp Clustered Data ONTAP, NetApp H300S Firmware, NetApp H300S, NetApp H500S Firmware

Uwagi

Podatność została zgłoszona przez platformę HackerOne (raport #1704017). Problem dotyczy wyłącznie scenariusza reużycia uchwytu libcurl z przełączeniem metody PUT na POST z aktywnym callbackiem `CURLOPT_READFUNCTION`.

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

    OS
    Apple
    < 12.6.3
  • Debian

    OS
    Debian
    10.011.0
  • Haxx Curl

    APP
    Haxx
    < 7.86.0
  • Netapp Clustered Data Ontap

    APP
    Netapp
    wszystkie wersje
  • Netapp H300s

    HW
    Netapp
    wszystkie wersje
  • Netapp H300s Firmware

    OS
    Netapp
    wszystkie wersje
  • Netapp H410s

    HW
    Netapp
    wszystkie wersje
  • Netapp H410s Firmware

    OS
    Netapp
    wszystkie wersje
  • Netapp H500s

    HW
    Netapp
    wszystkie wersje
  • Netapp H500s Firmware

    OS
    Netapp
    wszystkie wersje
  • Netapp H700s

    HW
    Netapp
    wszystkie wersje
  • Netapp H700s Firmware

    OS
    Netapp
    wszystkie wersje
  • Splunk Universal Forwarder

    APP
    Splunk
    9.1.08.2.0 – 8.2.12 (bez)9.0.0 – 9.0.6 (bez)
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
CWE
Referencje

Powiązane podatności

CVE-2026-65400CRITICAL9.8⚠ KEVPL ✓ten sam produkt

Pominięcie uwierzytelniania w Screen Sharing na macOS

CVE-2026-24061CRITICAL9.8⚠ KEVPL ✓ten sam produkt

GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER

CVE-2025-10585CRITICAL9.8⚠ KEVPL ✓ten sam produkt

Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty

CVE-2025-43300CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Apple iOS/iPadOS/macOS — out-of-bounds write przy przetwarzaniu obrazu

CVE-2025-32463CRITICAL9.3⚠ KEVPL ✓ten sam produkt

Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)