CVE-2026-73194
Received Received - Intake

Heap-based Buffer Overflow in Perl DBI

Vulnerability report for CVE-2026-73194, 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-15

Assigner: CPANSec

Description

DBI versions before 1.652 for Perl allow a heap out-of-bounds write via an unvalidated numeric placeholder that sets the binder counter in preparse. preparse reserves seven output bytes per input byte, the width of the longest ':p99999' expansion. The ':N' branch parses the number with `atoi(src)` and assigns it to the binder counter with no range check, so a statement containing ':2147483648' leaves the counter negative (-2147483648 with glibc, where atoi wraps). Each following '?' then expands through `sprintf(start, ":p%d", idx++)` to ':p-2147483648', 14 bytes with the terminating NUL where the buffer budgets 7. The placeholder limit added in 1.650 tests the counter against 99,999, which a negative counter passes. Any caller that preparses an untrusted statement into ':pN' style placeholders gets a heap out-of-bounds write that grows with the number of '?' marks following the poisoned placeholder. The '?' and '%s' return styles compare the parsed number against the expected sequence and error out, and are unaffected.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-15
Last Modified
2026-08-15
Generated
2026-08-15
AI Q&A
2026-08-15
EPSS Evaluated
N/A
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-1284 The product receives input that is expected to specify a quantity (such as size or length), but it does not validate or incorrectly validates that the quantity has the required properties.

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 when an unvalidated numeric placeholder like ':2147483648' sets a binder counter to a negative value during preparsing. This leads to buffer overflow when subsequent placeholders expand beyond allocated memory.

Detection Guidance

This vulnerability affects Perl DBI versions before 1.652. To detect it, check the installed DBI version using the command: perl -MDBI -e 'print $DBI::VERSION'

Impact Analysis

If you use a vulnerable DBI version, an attacker could exploit this to write data outside intended memory bounds. This may cause crashes, data corruption, or allow arbitrary code execution depending on the application context.

Mitigation Strategies

Upgrade Perl DBI to version 1.652 or later. Use your package manager to update, e.g., cpan DBI or cpanm DBI for Perl modules.

Chat Assistant

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

EPSS Chart