CVE-2022-32221

Critical
|9.8
Exploit Available

Plain English Summary

AI-powered analysis for quick understanding

This vulnerability allows an attacker to manipulate data sent in a POST request by exploiting a flaw in how the curl library handles reused connections, potentially leading to the wrong data being sent or causing the application to crash. It occurs when a connection that was previously used for a PUT request is reused for a POST request without properly resetting the data handling, which could happen in applications that frequently switch between these types of requests.

Technical Description

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.

CVSS Vector Analysis

Attack VectorNetwork
Attack ComplexityLow
Privileges RequiredNone
User InteractionNone
Confidentiality ImpactHigh
Integrity ImpactHigh
Availability ImpactHigh
ScopeUnchanged

Vector String

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

Exploit Resources

Search for proof-of-concept code and exploit modules

Official References

Est. Bounty
$13,000($5K-$15K)
Vendor Response
Grade FPatched in 1165 days

Quick Information

Published

Dec 5, 2022

over 3 years ago

Last Modified

Feb 13, 2026

about 2 months ago

Vendor

haxx

Product

curl

Related Vulnerabilities

CVE-2026-3805High

This vulnerability allows an attacker to potentially execute arbitrary code on a system using curl when making a second SMB request to the same host, due to the software mistakenly using memory that has already been freed. To exploit this, the attacker must be able to send multiple SMB requests to the same server, which could happen in certain network configurations.

CVE-2026-3784Medium

This vulnerability allows an attacker to potentially gain access to sensitive information by reusing an existing HTTP proxy connection, even if the new request uses different login credentials. This issue occurs when the curl tool fails to establish a separate connection for requests that require different authentication, which could lead to unauthorized data exposure if an attacker can control the proxy or its traffic.

CVE-2026-3783Medium

This vulnerability allows an attacker to potentially capture an OAuth2 bearer token when a user is redirected from one website to another, exposing sensitive information. This can happen if the second website has credentials stored in the user's .netrc file, which curl mistakenly sends along with the token.

CVE-2026-1965Medium

This vulnerability allows an attacker to potentially access sensitive information by reusing an existing connection that was authenticated with different user credentials, leading to unauthorized actions. This can happen if an application makes multiple requests to the same server using Negotiate authentication, where the first request is authenticated with one user's credentials and the second request mistakenly uses that same connection, thinking it's authenticated with a different user's credentials.

CVE-2023-28322Low

This vulnerability allows an attacker to potentially send incorrect data during an HTTP POST request if the same connection handle was previously used for a PUT request, which could lead to unexpected application behavior. It mainly affects applications that reuse connection handles without properly resetting them, making it important for developers to be cautious when switching between different types of requests.