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.
Published: 2026-10-23
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: CPU Exhaustion / Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The vulnerability allows crafted Accept‑Language header values to be interpreted as regular expressions, causing the regex engine to perform extensive backtracking. This can exhaust processor time or trigger a fatal error in the library, leading to a denial of service. The primary impact is loss of availability for applications that process untrusted HTTP headers.

Affected Systems

Perl applications that utilize HTTP::Headers::ActionPack versions prior to 0.10 are affected. Any deployment that imports the module and forwards raw Accept‑Language headers to it is susceptible, regardless of whether the application is a web framework, microservice, or custom script.

Risk and Exploitability

The vulnerability is remotely exploitable via standard HTTP requests containing malicious Accept‑Language values. Because the header is passed straight into the regex engine without sanitization, an attacker can trigger severe CPU load or crashes with minimal effort. The CVSS score of 7.5 and an EPSS score of < 1% suggest a high exploitation risk. The vulnerability is not listed in CISA KEV. No publicly disclosed exploits are reported, but the nature of the attack vector indicates a high likelihood of exploitation in environments that accept external input.

Generated by OpenCVE AI on October 29, 2026 at 13:50 UTC.

Remediation

Vendor Solution

Upgrade to HTTP-Headers-ActionPack 0.10 or later.


OpenCVE Recommended Actions

  • Upgrade to HTTP-Headers-ActionPack 0.10 or later.
  • Apply input validation to ensure Accept‑Language headers do not contain unescaped regex syntax before passing them to the library.
  • Configure the application or web server to reject or limit malformed Accept‑Language headers and monitor CPU usage for anomalous spikes.

Generated by OpenCVE AI on October 29, 2026 at 13:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 03 Nov 2026 17:00:00 +0000

Type Values Removed Values Added
First Time appeared Perl
Perl http::headers::actionpack
Vendors & Products Perl
Perl http::headers::actionpack

Mon, 02 Nov 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 29 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-1333
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Important


Fri, 23 Oct 2026 23:30:00 +0000

Type Values Removed Values Added
References

Fri, 23 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
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.
Title HTTP::Headers::ActionPack versions before 0.10 for Perl allow CPU exhaustion via Accept-Language ranges matched as regular expressions
Weaknesses CWE-624
References

Subscriptions

Perl Http::headers::actionpack
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-11-02T15:59:52.574Z

Reserved: 2026-10-20T20:16:52.798Z

Link: CVE-2026-113877

cve-icon Vulnrichment

Updated: 2026-10-23T23:06:45.441Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-23T21:17:21.597

Modified: 2026-11-02T16:17:27.470

Link: CVE-2026-113877

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-23T20:07:20Z

Links: CVE-2026-113877 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-11-03T16:37:56Z

Weaknesses
  • CWE-1333

    Inefficient Regular Expression Complexity

  • CWE-624

    Executable Regular Expression Error