CVE-2026-119202
@hapi/content: quadratic-time parsing of Content-Disposition parameters allows denial of service
Impact
@hapi/content provides HTTP Content-* header parsing. From 3.0.6 until 6.0.3, Content.disposition() uses an unanchored parameter-name expression in a global regular-expression scan, causing repeated failed matching over the remaining input when a Content-Disposition parameter contains a long token without an equals sign. The resulting quadratic processing can block the Node.js event loop before route handlers or validation when @hapi/pez parses multipart/form-data headers, including unauthenticated hapi routes with payload.multipart enabled, and also affects applications that pass untrusted headers directly to Content.disposition(). This issue is fixed in @hapi/content version 6.0.3.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @hapi/content | <= 6.0.2 | 6.0.3 |
| npm | content | >= 3.0.6, <= 4.0.6 | none recorded |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Hapijs | Content | before 6.0.3 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-8494-f6mr-cjpv
- https://github.com/hapijs/content/security/advisories/GHSA-8494-f6mr-cjpv
- https://nvd.nist.gov/vuln/detail/CVE-2026-119202
- https://github.com/hapijs/content/commit/0993851dc7234976a3fce3a7c31662b213c940fd
- https://github.com/hapijs/content/releases/tag/v6.0.3