CVE-2026-113877: HTTP::Headers::ActionPack versions before 0.10 for Perl allow CPU exhaustion via Accept-Language ranges matched as regular expressions
Robert Rothenberg 23 Oct 2026 20:08 UTC
========================================================================
CVE-2026-113877 CPAN Security Group
========================================================================
CVE ID: CVE-2026-113877
Distribution: HTTP-Headers-ActionPack
Versions: before 0.10
MetaCPAN: https://metacpan.org/dist/HTTP-Headers-ActionPack
VCS Repo: https://github.com/robrwo/perl-HTTP-Headers-ActionPack/
HTTP::Headers::ActionPack versions before 0.10 for Perl allow CPU
exhaustion via Accept-Language ranges matched as regular expressions
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.
Problem types
-------------
- CWE-624 Executable Regular Expression Error
Solutions
---------
Upgrade to HTTP-Headers-ActionPack 0.10 or later.
References
----------
https://metacpan.org/release/RRWO/HTTP-Headers-ActionPack-0.10/changes
https://github.com/robrwo/perl-HTTP-Headers-ActionPack/commit/77f0deb23f3de872c2e64befd72750e0f0f4bec9.patch