CVE-2026-44974 Parameter smuggling in @hapi/content header parser allows upload-filter bypass via duplicate parameters
Attackers can bypass upload filename allowlists by exploiting inconsistent duplicate parameter handling in HTTP header parsing, potentially leading to remote code execution.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-44974?
CVE-2026-44974 is a high-severity vulnerability in hapijs content, published on 17 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
@hapi/content provided HTTP Content-* headers parsing. Prior to 6.0.2, Content.disposition() retained the last occurrence of each duplicate parameter while Content.type() retained the first occurrence of duplicate charset and boundary parameters, creating a parameter-smuggling primitive when another component in the request-processing chain resolves duplicates the opposite way. This can allow an upload filename allowlist bypass in headers such as Content-Disposition: form-data; name="file"; filename="safe.txt"; filename="shell.php". This issue is fixed in version 6.0.2.
Weakness: CWE-436
Which versions are affected by CVE-2026-44974?
2 open source packages ship an affected version, including @hapi/content.
| Package | Affected | Fixed in |
|---|---|---|
@hapi/content npm | All versions | 6.0.2 |
@hapi/content npm | All versions | 6.0.2 |
How do I fix CVE-2026-44974?
Upgrade @hapi/content to 6.0.2 or later.
Is CVE-2026-44974 being exploited?
There is no known exploitation of CVE-2026-44974 in the wild and no public exploit code.
Sources
Also known as ECHO-366e-1401-9fd9, GHSA-36hh-x5p5-jgc8, MINI-2w83-5fqj-34jw, MINI-4r9w-7qh8-v7gh, MINI-79c9-fgvc-8q3m, MINI-8mp8-2ccg-jxvg and 11 more.