Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-84380— HTTPX2: Conflicting Content-Length and Transfer-Encoding headers can be auto-generated

Quick assessment

Affected
pydantic httpx2
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

HTTPX2 是 Python 的下一代 HTTP 客户端。在 2.11.0 之前, 中的 方法可能会向一个已经包含调用方提供的 头的请求中,添加一个基于请求体推导出的 头。这是因为其 逻辑是独立检查每个默认头,而不是将这两个框架(framing)头视为互斥关系。因此,固定大小的字节数据、JSON、表单以及长度已知的 multipart 请求体,可能会在 HTTP/1.1 中同时携带这两个头进行序列化。当下游中间件对哪个框架头具有优先权存在分歧时,就可能导致请求走私(request smuggling)或连接去同步

CVSS 5.6 · Medium

Possible ATT&CK Techniques 1 AI

T1597 · Search Closed Sources

Affected Version Matrix 1

VendorProduct Version RangeStatus
pydantic httpx2 < 2.11.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-84380

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
HTTPX2: Conflicting Content-Length and Transfer-Encoding headers can be auto-generated
Source: CVE Program / CVE List V5
Vulnerability Description
HTTPX2 is a next generation HTTP client for Python. Prior to 2.11.0, Request._prepare() in src/httpx2/httpx2/_models.py can add a body-derived Content-Length header to a request that already contains a caller-supplied Transfer-Encoding header because its setdefault() processing checks each default header independently rather than treating the two framing headers as mutually exclusive. Fixed-size byte, JSON, form, and known-length multipart bodies can therefore be serialized over HTTP/1.1 with both headers, allowing request smuggling or connection desynchronization when downstream intermediaries disagree about which framing header takes precedence. This issue is fixed in version 2.11.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L
Source: CVE Program / CVE List V5
Vulnerability Type
HTTP请求的解释不一致性(HTTP请求私运)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
pydantic httpx2 < 2.11.0 -

II. Public POCs for CVE-2026-84380

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-84380

登录查看更多情报信息。

Patches & Fixes for CVE-2026-84380 (3)

Vendor Advisories for CVE-2026-84380 (1)

Same Patch Batch · pydantic · 2026-09-02 · 5 CVEs total

CVE-2026-84381 8.1 HIGH HTTPX2: Secure WebSocket traffic sent without TLS through SOCKS proxies
CVE-2026-84382 7.5 HIGH HTTPX2: Streaming response decompression does not bound peak memory (decompression amplifi
CVE-2026-84378 5.9 MEDIUM HTTPX2: Quadratic SSE line buffering can cause CPU denial of service
CVE-2026-84379 5.3 MEDIUM HTTPX2: Multipart part header injection via unvalidated file Content-Type and custom heade

IV. Related Vulnerabilities

V. Comments for CVE-2026-84380

No comments yet


Leave a comment