What’s Vulnerable › Vulnerabilities
CVE-2026-113877: HTTP::Headers::ActionPack versions before 0.10 for Perl allow CPU exhaustion via Accept-Language ranges matched as regular expressions
- Severity: unknown
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-23 · updated 2026-10-26
- Weakness: CWE-624
Description
HTTP::Headers::ActionPack versions before 0.10 for Perl allow CPU exhaustion via Accept-Language ranges matched as regular expressions. _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. A remote attacker can exhaust CPU, or make choose_language die, in any application that passes an untrusted Accept-Language header to it.
Affected products
- HTTP-Headers-ActionPack: before 0.10 — fixed in 0.10
How to fix
Upgrade to a fixed version: HTTP-Headers-ActionPack 0.10. Check the vendor advisory for mitigations.
References
- https://github.com/robrwo/perl-HTTP-Headers-ActionPack/commit/77f0deb23f3de872c2e64befd72750e0f0f4bec9.patch
- https://metacpan.org/release/RRWO/HTTP-Headers-ActionPack-0.10/changes
- http://www.openwall.com/lists/oss-security/2026/10/23/27
Get alerted when CVE-2026-113877 or the next vulnerability affects your stack