In short
- CVE-2026-44974 is a HIGH (CVSS 7.7) vulnerability affecting @hapi/content.
- Chance of exploitation in the next 30 days (EPSS): 0.47%, higher than 40.8% of all vulnerabilities.
- Fix: update to 6.0.2 or later.
| Package | Affected versions | Patched versions |
|---|
| @hapi/content npm | < 6.0.2
| 6.0.2
|
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
NVD 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.
More vulnerabilities in @hapi/content
See all →Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free