{"id":"CVE-2026-113877","title":"HTTP::Headers::ActionPack versions before 0.10 for Perl allow CPU exhaustion via Accept-Language ranges matched as regular expressions","summary":"HTTP::Headers::ActionPack versions before 0.10 for Perl allow CPU exhaustion via Accept-Language ranges matched as regular expressions.\n\n_language_match interpolates each Accept-Language range into the pattern `/^$range\\-/i` without esca…","severity":"none","cwe":["CWE-624"],"product":"HTTP-Headers-ActionPack","affected":["HTTP-Headers-ActionPack < 0.10"],"published":"2026-10-23","updated":"2026-10-23","sourceUpdated":"2026-10-23T20:07:20.677Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-113877","references":[{"url":"https://metacpan.org/release/RRWO/HTTP-Headers-ActionPack-0.10/changes"},{"url":"https://github.com/robrwo/perl-HTTP-Headers-ActionPack/commit/77f0deb23f3de872c2e64befd72750e0f0f4bec9.patch"}],"tags":["cve.org"],"ingestedAt":"2026-10-23T20:36:51.532Z","slug":"CVE-2026-113877","body":"## Overview\n\nHTTP::Headers::ActionPack versions before 0.10 for Perl allow CPU exhaustion via Accept-Language ranges matched as regular expressions.\n\n_language_match interpolates each Accept-Language range into the pattern `/^$range\\-/i` without escaping it, so regular expression syntax in the header reaches the regex engine. A 12-byte range such as `(a?|b?){26}z` backtracks for seconds, and each increment of the quantifier doubles the time. An invalid range such as `(` fails to compile.\n\nA remote attacker can exhaust CPU, or make choose_language die, in any application that passes an untrusted Accept-Language header to it.\n\n## Affected\n\n- `HTTP-Headers-ActionPack < 0.10`\n\n## Remediation\n\nUpgrade to HTTP-Headers-ActionPack 0.10 or later.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}