Description
Perl versions through 5.45.1 have out-of-bounds heap reads and writes during regular expression matching via an undersized superlinear cache in S_regmatch.

The regex engine's superlinear cache holds one bit per subject position for each participating WHILEM node, so the bit count is the subject length plus one times the number of nodes. Nothing checks that product for positive overflow of the signed 32-bit count: a 286331153 byte subject matched against a pattern with 15 participating nodes stores the count as 14, leaving a two byte cache. The cache is then indexed from the real match position and node number, so reads go past the end of the allocation, and on failure CACHEsayNO sets a bit past it.

A caller that matches an attacker controlled subject of this size against a pattern of this shape can crash the process or corrupt heap memory.
Published: 2026-08-09
Score: 5.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw resides in Perl’s regular‑expression engine, where the superlinear cache used during matching is undersized and its byte count is not checked for signed‑32‑bit overflow. A crafted subject string can cause the cache to reference memory beyond its allocation, producing out‑of‑bounds reads and writes. The result is heap corruption that may crash the Perl process or, if the attacker can control the corruption pattern, lead to arbitrary code execution. The vulnerability is identified as CWE‑125, CWE‑190, and CWE‑787.

Affected Systems

The issue affects all Perl versions up to and including 5.45.1 delivered by the LEONT vendor. Any installation running those releases that processes user‑supplied input through the regex engine is potentially susceptible.

Risk and Exploitability

The CVSS score of 5.7 indicates moderate severity. An EPSS score of 0.00196 indicates a very low exploitation probability, and the flaw is not listed in the CISA KEV catalog. The nature of the bug—unbounded memory accesses—still poses a significant risk if exploited. An attacker who can provide a carefully designed subject string to a Perl process (e.g., through a web application or script) can trigger the overflow and cause memory corruption. The attack requires local or remote code execution capability only if the malicious input can control the regex evaluation, which is plausible in many real‑world scenarios such as web services or command‑line utilities that accept untrusted strings.

Generated by OpenCVE AI on August 13, 2026 at 09:59 UTC.

Remediation

Vendor Solution

Upgrade to a future Perl release, or apply the upstream patches.


OpenCVE Recommended Actions

  • Upgrade to a Perl release newer than 5.45.1
  • Apply the upstream patches linked in the advisory
  • Avoid executing untrusted input through Perl’s regex engine or enforce strict input validation on such data

Generated by OpenCVE AI on August 13, 2026 at 09:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 12 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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

ssvc

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


Tue, 11 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
First Time appeared Leont
Leont perl
Vendors & Products Leont
Leont perl

Sun, 09 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
Description Perl versions through 5.45.1 have out-of-bounds heap reads and writes during regular expression matching via an undersized superlinear cache in S_regmatch. The regex engine's superlinear cache holds one bit per subject position for each participating WHILEM node, so the bit count is the subject length plus one times the number of nodes. Nothing checks that product for positive overflow of the signed 32-bit count: a 286331153 byte subject matched against a pattern with 15 participating nodes stores the count as 14, leaving a two byte cache. The cache is then indexed from the real match position and node number, so reads go past the end of the allocation, and on failure CACHEsayNO sets a bit past it. A caller that matches an attacker controlled subject of this size against a pattern of this shape can crash the process or corrupt heap memory.
Title Perl versions through 5.45.1 have out-of-bounds heap reads and writes during regular expression matching via an undersized superlinear cache in S_regmatch
Weaknesses CWE-125
CWE-190
CWE-787
References

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-08-12T17:38:26.694Z

Reserved: 2026-07-12T17:04:25.249Z

Link: CVE-2026-15534

cve-icon Vulnrichment

Updated: 2026-08-09T22:07:56.263Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-08-09T18:16:42.800

Modified: 2026-08-28T15:42:20.060

Link: CVE-2026-15534

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T10:00:05Z

Weaknesses