CVE-2026-113877: HTTP::Headers::ActionPack versions before 0.10 for Perl allow CPU exhaustion via Accept-Language ranges matched as regular expressions
HTTP::Headers::ActionPack versions before 0.10 for Perl allow CPU exhaustion via Accept-Language ranges matched as regular expressions.
languagematch 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.
A remote attacker can exhaust CPU, or make chooselanguage die, in any application that passes an untrusted Accept-Language header to it.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
HTTP::Headers::ActionPackto a version that resolves this vulnerability.Fixed in 0.10