CVE-2026-73194: 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
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.
Security readout for executives and security teams
Plain-English summary
Perl DBI versions before 1.652 can write beyond allocated heap memory when processing a specially formed numeric placeholder. Applications are exposed only when untrusted statement text reaches the affected ':pN' placeholder-preparation path. Successful abuse could disclose sensitive data or disrupt the service; code execution is not established by the supplied sources.
Executive priority
Treat this as an urgent, exposure-dependent patching issue. Quickly identify DBI versions and applications accepting attacker-influenced statement text. Expedite upgrades for reachable affected paths, while avoiding claims of confirmed compromise: the supplied evidence establishes a critical memory-safety flaw but does not establish active exploitation.
Technical view
The ':N' preparse branch converts a placeholder number without validating its range, allowing the binder counter to become negative. Later '?' placeholders can then expand beyond the buffer's seven-byte-per-input-byte allocation, causing a growing heap out-of-bounds write. The supplied description says '?' and '%s' return styles reject the invalid sequence and are unaffected.
Likely exposure
Prioritize systems running Perl DBI earlier than 1.652 that preparse attacker-influenced statement text into ':pN' placeholders. Merely using DBI does not establish exploitability. Exposure depends on the installed version, selected return style, and whether untrusted input can control statement structure rather than only bound values.
Exploitation context
The record assigns CVSS 9.1 with network reachability, low complexity, no privileges, and no user interaction. However, the supplied bundle says KEV is false and provides no evidence of active exploitation or a public working exploit. Real-world reachability remains application-dependent because untrusted statement text must enter the vulnerable preparse path.
Researcher notes
The vulnerability is specific to ':pN' output preparation according to the supplied description. Assess data flow into statement structure, not merely database connectivity. The bundle's structured affected entry is inconsistent—listing version '0' and default status 'unaffected'—while the title, description, advisory reference, and patch state versions before 1.652 are affected.
Mitigation direction
Upgrade Perl DBI to version 1.652 or later using the vendor-supported package source.
Prevent untrusted input from controlling SQL statement structure; use fixed statements with properly bound values.
Review the vendor advisory and patch before applying compensating controls or backports.
Prioritize internet-facing applications where request data can influence preparsed statement text.
Validation and detection
Inventory Perl DBI versions across applications, containers, build artifacts, and deployed hosts.
Identify code paths using ':pN' placeholder preparation and trace whether untrusted input reaches statement text.
Confirm deployed instances report DBI 1.652 or later after remediation.
Run safe regression tests covering statement preparation, placeholder handling, and rejected malformed input.
Verify package locks and deployment manifests cannot restore an older DBI release.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-1284: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-1284 · source CWE mapping
Improper Validation of Specified Quantity in Input
Improper Validation of Specified Quantity in Input represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Out-of-bounds Write represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.