Skip to main content
← All vulnerabilities
CVE-2026-84379PYSEC-2026-3848GHSA-H4X7-GW46-3WM6

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.11.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • pydantic httpx2

    fixed in 2.11.0

  • httpx2PyPI

    fixed in 2.11.0

References 4

GitHub · pydantic/httpx2