Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-84379 EUVD-2026-70246GHSA-h4x7-gw46-3wm6PYSEC-2026-3848

HTTPX2: Multipart part header injection via unvalidated file Content-Type and custom headers

Published Sep 2, 2026 · Updated Sep 2, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
pydantic httpx2 < 2.11.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 python-httpx2 2.12.0-1 —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 python-httpx2 No fix yet —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling py3.10-httpx2 +3 2.12.0-r0 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI httpx2 < 2.11.0 2.11.0 GHSA-h4x7-gw46-3wm6

References