hapijs/content · Security
@hapi/content header parser has a parameter smuggling issue that allows upload-filter bypass via duplicate parameters
- GHSA ID
- GHSA-36hh-x5p5-jgc8
- CVE ID
- CVE-2026-44974
- Severity
- high
- Published
- Updated
- CVSS v4
- 7.7 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:H/SA:N
Description
Impact
The two parsers resolved duplicates inconsistently and silently:
Content.disposition()retained the last occurrence of each parameter.Content.type()retained the first occurrence of charset and boundary.
Either behavior creates a parameter-smuggling primitive when another component in the request-processing chain (a WAF, reverse proxy, security filter, or alternate parser) resolves duplicates the opposite way. The primary attack vector is upload filename allowlist bypass:
Content-Disposition: form-data; name="file"; filename="safe.txt"; filename="shell.php"
Patches
The issue has been patched in 6.0.2.
Workarounds
Pre or post validate headers looking for duplicates.
Resources
CWEs
- CWE-436 · Interpretation Conflict