{"id":"UBUNTU-CVE-2026-84380","details":"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.","modified":"2026-10-17T13:01:13.113932439Z","published":"2026-09-02T18:21:00Z","upstream":["CVE-2026-84380"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-84380"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-84380"},{"type":"REPORT","url":"https://github.com/pydantic/httpx2/security/advisories/GHSA-pf96-p4fj-6566"},{"type":"REPORT","url":"https://github.com/pydantic/httpx2/pull/1137"},{"type":"REPORT","url":"https://github.com/pydantic/httpx2/commit/829b93a2393212996f613e635261f777d9ec6eab"},{"type":"REPORT","url":"https://github.com/pydantic/httpx2/releases/tag/v2.11.0"}],"affected":[{"package":{"name":"python-httpx2","ecosystem":"Ubuntu:26.10","purl":"pkg:deb/ubuntu/python-httpx2?arch=source&distro=stonking"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.0-1"],"ecosystem_specific":{"binaries":[{"binary_version":"2.5.0-1","binary_name":"python3-httpcore2"},{"binary_name":"python3-httpx2","binary_version":"2.5.0-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-84380.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L"},{"type":"Ubuntu","score":"medium"}]}