Parameter smuggling in @hapi/content header parser allows upload-filter bypass via duplicate parameters
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.
Summary
@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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| hapijs | content | before 6.0.2 | 6.0.2 | Patch available | CNA |
| — | @hapi/content (npm) | before 6.0.2 | 6.0.2 | Patch available | GHSA-36hh-x5p5-jgc8 |
- content Vendorhapijs Affected before 6.0.2 Fixed in 6.0.2 Patch available CNA
- @hapi/content (npm) Vendor— Affected before 6.0.2 Fixed in 6.0.2 Patch available GHSA-36hh-x5p5-jgc8
Remediation
- Fix · CNA content (hapijs) Fixed in 6.0.2
- Fix · GHSA-36hh-x5p5-jgc8 @hapi/content (npm) Fixed in 6.0.2 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-44974
- 2026-10-03 Alias added: GHSA-36hh-x5p5-jgc8
References
More hapijs vulnerabilities
- TI-2026-82752 Quadratic-time parsing in @hapi/content allows denial of service CVSS 3.1HIGH 7.5
- TI-2026-82716 Quadratic-time split in joi email rule allows denial of service CVSS 3.1HIGH 7.5
- TI-2026-61678 joi before 17.13.8 and 18.2.9 Prototype Pollution via messages CVSS 4.0MEDIUM 6.3
- TI-2018-02726 Prototype pollution in @hapi hoek node module CVSS 3.0HIGH 8.8
- TI-2026-79747 Regular expression denial of service in @hapi/content disposition parsing CVSS 4.0HIGH 8.7
- TI-2026-62455 Joi before 17.13.7 and 18.2.6 ReDoS via isoDate CVSS 4.0HIGH 8.7
Sources
- CVE-2026-44974 · CVE Program
- CVE-2026-44974 · NVD
- FIRST EPSS
- GHSA-36hh-x5p5-jgc8 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences