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: n/a
EPSS: n/a
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. No publicly disclosed exploits or KEV status are reported, but the lack of an EPSS score and the nature of the attack vector indicate a high likelihood of exploitation in environments that accept external input.

Generated by OpenCVE AI on October 23, 2026 at 21:33 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 23, 2026 at 21:33 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-23T20:07:20.677Z

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

Link: CVE-2026-113877

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-113877

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T21:45:14Z

Weaknesses
  • CWE-624

    Executable Regular Expression Error