Skip to main content

Perl DBI CVE-2026-73193

| EUVDEUVD-2026-59744 CRITICAL
Integer Overflow or Wraparound (CWE-190)
2026-08-15 CPANSec
Critical
Disputed · 9.8 Vendor: CPANSec
Share

Severity by source

Sources disagree (Medium–Critical)
Vendor (CPANSec) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
8.1 HIGH

AC:H because exploitation requires a 32-bit perl build and delivery of a ~585 MB untrusted statement into preparse; PR:N/UI:N as no auth or interaction is inherent, with high memory-corruption impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: CPANSec

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Source Code Evidence Fetched
Aug 17, 2026 - 21:24 vuln.today
Analysis Generated
Aug 17, 2026 - 21:24 vuln.today
CVSS changed
Aug 17, 2026 - 21:22 NVD
9.8 (CRITICAL)
CVE Published
Aug 15, 2026 - 12:09 cve.org
CRITICAL 9.8
CVE Published
Aug 15, 2026 - 12:09 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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.

AnalysisAI

Heap out-of-bounds write in Perl's DBI module before 1.652 lets an attacker who can feed an oversized untrusted statement to the preparse() function corrupt heap memory on 32-bit perl builds, writing hundreds of megabytes of attacker-controlled data past a tiny allocation. The flaw stems from an integer wraparound (CWE-190) in the output-buffer sizing arithmetic and could lead to code execution or crashes. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Identify app on 32-bit perl using preparse
Delivery
Submit ~585 MB untrusted statement
Exploit
Trigger STRLEN integer wraparound
Execution
Undersized 19-byte buffer allocated
Persist
Overflow heap with attacker bytes
Impact
Crash or code execution

Vulnerability AssessmentAI

Exploitation Two concrete prerequisites must both hold: (1) the target must be a 32-bit perl build where STRLEN is 32 bits wide - 64-bit builds are categorically not vulnerable; and (2) the attacker must be able to deliver an untrusted statement of at least 613,566,757 bytes (~585 MB) into DBI's preparse() function, since smaller inputs do not trigger the wraparound. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The published CVSS 3.1 base score is 9.8 (AV:N/AC:L/PR:N/UI:N/C:H/I:H/A:H), but that raw score overstates real-world risk. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An application running on 32-bit perl accepts a large text field that it later passes to DBI's preparse() (for example, to normalize placeholder syntax). An attacker submits a ~585 MB payload; the buffer-size math wraps to allocate only 19 bytes, and the parser writes the full payload past the allocation, corrupting the heap to cause a crash or potentially achieve code execution. …
Remediation Vendor-released patch: upgrade DBI to version 1.652, which adds an explicit length guard rejecting statements longer than 306,783,375 bytes (~292 MB) in preparse before the multiplication can overflow (commit c751ae5a5a6f56c2f8284f37c1f4d43500352ef1). … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, audit all production systems to identify Perl applications using the DBI module and document their currently installed versions. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise Module for Basesystem 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected

Share

CVE-2026-73193 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy