{"id":"CVE-2026-115728","kind":"vulnerability","aliases":["CVE-2026-115728"],"related":[],"title":"@hapi/content: crafted Content-Disposition header freezes Node server","description":"@hapi/content from 6.0.1 before 6.0.3 contains a regular expression denial of service vulnerability in Content.disposition() caused by an incomplete fix for CVE-2026-35213. Unauthenticated remote attackers can send multipart uploads with a long Content-Disposition parameter lacking an equals sign, triggering quadratic backtracking that blocks the event loop.","summary":"The @hapi/content package versions 6.0.1 before 6.0.3 use a regular expression in Content.disposition() that backtracks quadratically on a long parameter without an equals sign. An unauthenticated remote attacker can send a multipart upload with such a header and block the Node.js event loop, causing denial of service.","severity":"high","cvss":8.7,"epss":0.00848,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["hapi","javascript","node.js","package","self-hosted"],"not_affected_if":["no-multipart-parsing","version-6.0.3-or-later"],"how_to_check":"Run `npm ls @hapi/content` in each project and check whether the installed version is 6.0.1 or 6.0.2.","fix":"Upgrade @hapi/content to 6.0.3 or later.","status":"open","published_at":"2026-10-23T13:17:08+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","triaged_at":"2026-10-23T22:35:05+00:00","updated_at":"2026-10-25T12:38:50+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-23T22:35:05Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade @hapi/content to 6.0.3 or later.\nunknown","reach":"internet","title":"@hapi/content: crafted Content-Disposition header freezes Node server","impact":"low","summary":"The @hapi/content package versions 6.0.1 before 6.0.3 use a regular expression in Content.disposition() that backtracks quadratically on a long parameter without an equals sign. An unauthenticated remote attacker can send a multipart upload with such a header and block the Node.js event loop, causing denial of service.","category":"package","who_cares":["node.js","hapi","self-hosted","javascript"],"confidence":0.7,"needs_auth":"no","worst_case":"Server event loop blocks, so the service stops answering requests.","analyst_note":"","how_to_check":"Run `npm ls @hapi/content` in each project and check whether the installed version is 6.0.1 or 6.0.2.\nunknown","needs_analyst":false,"not_affected_if":["version-6.0.3-or-later","no-multipart-parsing"],"user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000492,"input_tokens":2942,"output_tokens":396,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-115728':12A,15A '-2026':11A,14A,92C '-35213':93C '6.0.1':27B,72C '6.0.3':29B,74C 'attack':50B,96C 'backtrack':37B,114C 'block':61B,116C 'caus':66B,85C 'contain':75C 'content':4A,105C 'content-disposit':3A,104C 'content.disposition':35B,84C 'craft':2A 'cve':10A,13A,91C 'denial':67B,79C 'disposit':5A,106C 'equal':45B,110C 'event':64B,118C 'express':33B,78C 'fix':89C 'freez':7A 'hapi':16B 'hapi/content':1A,24B,70C 'header':6A,59B 'host':22B 'incomplet':88C 'javascript':17B 'lack':108C 'long':41B,103C 'loop':65B,119C 'multipart':54B,99C 'node':8A 'node.js':18B,63B 'packag':19B,25B 'paramet':42B,107C 'quadrat':38B,113C 'regular':32B,77C 'remot':49B,95C 'self':21B 'self-host':20B 'send':52B,98C 'server':9A 'servic':69B,81C 'sign':46B,111C 'trigger':112C 'unauthent':48B,94C 'upload':55B,100C 'use':30B 'version':26B 'vulner':82C 'without':43B","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T13:17:08+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-115728","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-115728","severity":null,"published_at":"2026-10-23T13:17:08+00:00","modified_at":"2026-10-23T19:45:03+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","fetched_at":"2026-10-23T22:29:03+00:00","note":null},{"source":"epss","external_id":"CVE-2026-115728","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-115728","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-25T12:38:50+00:00","fetched_at":"2026-10-25T12:38:50+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}