Medium severity · published Sep 2, 2026
CVE-2026-84379
HTTPX2: Multipart part header injection via unvalidated file Content-Type and custom headers
5.3
CVSS
0.3%
EPSS
No
On KEV
Description
HTTPX2 is a next generation HTTP client for Python. Prior to 2.11.0, FileField.render_headers() in src/httpx2/httpx2/_multipart.py directly interpolates attacker-controlled content_type values and custom headers from the files= three-element (filename, content, content_type) tuple and the files= four-element (filename, content, content_type, headers) tuple into multipart/form-data part headers without validating header names or values. CR or LF characters can terminate a part header, inject additional part headers, or end the part header block early, allowing a downstream multipart parser to treat attacker-supplied lines as genuine headers and potentially alter part semantics or bypass header-based checks. This issue is fixed in version 2.11.0.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
Low
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 25% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
HT
httpx2 · pydantic
< 2.11.0 · source: vendor
Affected product
HT
httpx2
pydantic
More from httpx2
8.1
CVE-2026-84381
HTTPX2: Secure WebSocket traffic sent without TLS through SOCKS proxies
7.5
CVE-2026-84382
HTTPX2: Streaming response decompression does not bound peak memory (decompression amplification)
5.9
CVE-2026-84378
HTTPX2: Quadratic SSE line buffering can cause CPU denial of service
5.6
CVE-2026-84380
HTTPX2: Conflicting Content-Length and Transfer-Encoding headers can be auto-generated