CVE-2026-73193
Awaiting Analysis Awaiting Analysis - Queue

Heap Out-of-Bounds Write in Perl DBI

Vulnerability report for CVE-2026-73193, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-15

Last updated on: 2026-08-28

Assigner: CPANSec

Description

DBI versions before 1.652 for Perl allow a heap out-of-bounds write on 32-bit perl via an integer wraparound in the output buffer size computed by preparse. preparse reserves its output buffer with `newSV(strlen(statement) * 7 + 16)`, budgeting seven output bytes per input byte for the longest ':p99999' expansion. The product is computed in STRLEN, which is 32 bits wide on a 32-bit perl build, so a statement of 613,566,757 bytes multiplies to 4,294,967,299, wraps modulo 2^32 to 3, and reserves 19 bytes. The parser then copies the statement out through a raw pointer with no capacity check, writing the whole 585 MB input past the end of the allocation. The 99,999 placeholder limit does not bound this path, which is reached by ordinary non-placeholder content. Any caller that passes an untrusted statement of that length to preparse on a 32-bit perl gets a heap out-of-bounds write of attacker controlled bytes. Builds with a 64-bit STRLEN are not affected, since the wrap there needs a statement of about 2.3 exabytes.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-15
Last Modified
2026-08-28
Generated
2026-09-04
AI Q&A
2026-08-15
EPSS Evaluated
2026-09-03
NVD
EUVD

Affected Vendors & Products

Currently, no data is known.

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-787 The product writes data past the end, or before the beginning, of the intended buffer.
CWE-190 The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a heap out-of-bounds write in DBI versions before 1.652 for Perl. It occurs on 32-bit Perl builds due to an integer wraparound in the output buffer size calculation. The preparse function reserves a buffer based on the input statement length multiplied by 7, but on 32-bit systems, this calculation can wrap around, leading to an undersized buffer. When the full input is copied without capacity checks, it writes beyond the allocated memory, allowing attacker-controlled data to overflow into adjacent memory.

Detection Guidance

This vulnerability affects Perl DBI versions before 1.652 on 32-bit systems. Detection requires checking the installed DBI version and system architecture. Use 'perl -MDBI -e "print $DBI::VERSION"' to check the version and 'perl -V:archname' to verify if the system is 32-bit.

Impact Analysis

If you use a 32-bit Perl build with DBI versions before 1.652 and pass an untrusted, very long SQL statement to the preparse function, an attacker could exploit this to write arbitrary data into memory. This could lead to crashes, data corruption, or potentially allow the attacker to execute arbitrary code on your system, depending on the context in which DBI is used.

Compliance Impact

This vulnerability does not directly affect compliance with standards like GDPR or HIPAA as it is a technical heap out-of-bounds write issue in Perl's DBI library. Compliance impact would depend on how the affected software is used in systems handling regulated data.

Mitigation Strategies

Upgrade DBI to version 1.652 or later. If using a 32-bit Perl build, consider migrating to a 64-bit version to avoid the integer wraparound issue. Avoid passing untrusted large statements to preparse functions.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-73193. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart