CVE-2026-44974: CWE-436: Interpretation Conflict in hapijs content
@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.
AI Analysis
Technical Summary
@hapi/content versions before 6.0.2 have inconsistent handling of duplicate parameters in HTTP Content-* headers. Content.disposition() keeps the last duplicate parameter, whereas Content.type() keeps the first for charset and boundary parameters. This discrepancy creates a parameter-smuggling primitive that can be exploited when other components in the request chain resolve duplicates differently. An attacker can bypass filename allowlists by crafting headers with multiple filename parameters, potentially allowing unauthorized file uploads. The vulnerability is identified as CWE-436 (Interpretation Conflict) and has a CVSS 4.0 score of 7.7 (high severity). The issue is resolved in version 6.0.2.
Potential Impact
This vulnerability allows attackers to bypass filename allowlists in file upload scenarios by exploiting inconsistent parsing of duplicate parameters in HTTP headers. This could lead to unauthorized file uploads with potentially dangerous filenames, increasing the risk of further exploitation or compromise. There are no known exploits in the wild at this time.
Mitigation Recommendations
Upgrade @hapi/content to version 6.0.2 or later, where this vulnerability is fixed. No other mitigation is indicated. Patch status is not explicitly stated as 'official-fix' or 'patchAvailable' but the description confirms the issue is fixed in 6.0.2.
CVE-2026-44974: CWE-436: Interpretation Conflict in hapijs content
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.
CVSS v4.0
Score 7.7high
Affected software
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
@hapi/content versions before 6.0.2 have inconsistent handling of duplicate parameters in HTTP Content-* headers. Content.disposition() keeps the last duplicate parameter, whereas Content.type() keeps the first for charset and boundary parameters. This discrepancy creates a parameter-smuggling primitive that can be exploited when other components in the request chain resolve duplicates differently. An attacker can bypass filename allowlists by crafting headers with multiple filename parameters, potentially allowing unauthorized file uploads. The vulnerability is identified as CWE-436 (Interpretation Conflict) and has a CVSS 4.0 score of 7.7 (high severity). The issue is resolved in version 6.0.2.
Potential Impact
This vulnerability allows attackers to bypass filename allowlists in file upload scenarios by exploiting inconsistent parsing of duplicate parameters in HTTP headers. This could lead to unauthorized file uploads with potentially dangerous filenames, increasing the risk of further exploitation or compromise. There are no known exploits in the wild at this time.
Mitigation Recommendations
Upgrade @hapi/content to version 6.0.2 or later, where this vulnerability is fixed. No other mitigation is indicated. Patch status is not explicitly stated as 'official-fix' or 'patchAvailable' but the description confirms the issue is fixed in 6.0.2.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-05-08T16:23:33.263Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a5b5eaa2d1edb114c7fb1be
Added to database: 07/18/2026, 11:08:26 UTC
Last enriched: 07/25/2026, 22:41:02 UTC
Last updated: 09/01/2026, 10:52:09 UTC
Views: 57
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.