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 a parsing inconsistency in handling duplicate HTTP Content-* header parameters. Content.disposition() retains the last duplicate parameter, whereas Content.type() retains the first for charset and boundary parameters. This discrepancy can be exploited as a parameter-smuggling primitive when other components in the request chain resolve duplicates differently. An attacker can bypass filename allowlists in Content-Disposition headers by including multiple filename parameters, potentially allowing unauthorized file uploads. The vulnerability is addressed in version 6.0.2.
Potential Impact
The vulnerability allows an attacker to bypass upload filename allowlists by exploiting inconsistent parsing of duplicate parameters in HTTP headers. This can lead to unauthorized file uploads with malicious filenames, increasing the risk of server compromise or unauthorized code execution. The CVSS 4.0 score of 7.7 (high severity) reflects the network attack vector, low attack complexity, no privileges or user interaction required, and significant impact on integrity and security.
Mitigation Recommendations
Upgrade to @hapi/content version 6.0.2 or later, where this issue is fixed. No other official remediation or temporary fixes are documented. Patch status is not explicitly stated but the fix is included in version 6.0.2, so upgrading to this version or newer is recommended.
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 a parsing inconsistency in handling duplicate HTTP Content-* header parameters. Content.disposition() retains the last duplicate parameter, whereas Content.type() retains the first for charset and boundary parameters. This discrepancy can be exploited as a parameter-smuggling primitive when other components in the request chain resolve duplicates differently. An attacker can bypass filename allowlists in Content-Disposition headers by including multiple filename parameters, potentially allowing unauthorized file uploads. The vulnerability is addressed in version 6.0.2.
Potential Impact
The vulnerability allows an attacker to bypass upload filename allowlists by exploiting inconsistent parsing of duplicate parameters in HTTP headers. This can lead to unauthorized file uploads with malicious filenames, increasing the risk of server compromise or unauthorized code execution. The CVSS 4.0 score of 7.7 (high severity) reflects the network attack vector, low attack complexity, no privileges or user interaction required, and significant impact on integrity and security.
Mitigation Recommendations
Upgrade to @hapi/content version 6.0.2 or later, where this issue is fixed. No other official remediation or temporary fixes are documented. Patch status is not explicitly stated but the fix is included in version 6.0.2, so upgrading to this version or newer is recommended.
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/18/2026, 11:51:10 UTC
Last updated: 07/18/2026, 13:12:52 UTC
Views: 4
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.