Live › vulnerability › CVE-2026-113877
Go to dashboardHTTP::Headers::ActionPack before 0.10 interpolates Accept-Language ranges into a regular expression without escaping, so a crafted header makes the regex engine backtrack for seconds. A remote attacker can exhaust CPU or make choose_language die in any application that passes it an untrusted Accept-Language header.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-23 21:57 UTC. All times on this page are UTC.
Perl applications that call HTTP::Headers::ActionPack's choose_language (directly or through a web framework) on the untrusted Accept-Language header of incoming requests. Applications that do not use this module, or that never pass request headers to it, are not exposed.
No product ranges from the sources yet.
perl -MHTTP::Headers::ActionPack -e 'print $HTTP::Headers::ActionPack::VERSION' or cpanm --info HTTP::Headers::ActionPack0.10 or laterEach row is the first time that source carried this signal. The analyst’s rows are its own findings.
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.
This page as .md · .json · in your agent: get_signal("CVE-2026-113877")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.