Skip to content
OpenAdvisories
High · 7.5 CVE-2026-113877 EUVD-2026-109147GHSA-q4hv-hfj9-x4r5

HTTP::Headers::ActionPack versions before 0.10 for Perl allow CPU exhaustion via Accept-Language ranges matched as regular expressions

Published Oct 23, 2026 · Updated Nov 2, 2026 · Assigned by CPANSec

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

VendorProductAffectedFixed
— HTTP-Headers-ActionPack < 0.10 0.10

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 libhttp-headers-actionpack-perl 0.10-1 —
Debian 13 libhttp-headers-actionpack-perl No fix yet —
Debian 12 libhttp-headers-actionpack-perl No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed perl-HTTP-Headers-ActionPack 0.100.0-1.1 openSUSE-SU-2026:12501-1

Advisories 1

References