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.
The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Red Hat AI Inference Server 3.5 | RedHat | rhaii/vllm-rocm-rhel9:1791425869 | * |
| Red Hat AI Inference Server 3.5 | RedHat | rhaii/vllm-gaudi-rhel9:1791427182 | * |
| Red Hat AI Inference Server 3.5 | RedHat | rhaii/vllm-cuda-rhel9:1791473631 | * |
| Red Hat AI Inference Server 3.5 | RedHat | rhaii/vllm-spyre-rhel9:1791818357 | * |
| Red Hat AI Inference Server 3.5 | RedHat | rhaii/vllm-cpu-rhel9:1791473614 | * |
| Python-httpx2 | Ubuntu | upstream | * |