Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-73193— 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

Quick assessment

Affected
CVE-2026-73193
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Perl 的 DBI 模块在 1.652 版本之前存在一个堆缓冲区越界写入漏洞,该漏洞可通过 32 位 Perl 环境中由 preparse 函数计算的输出缓冲区大小的整数回绕(integer wraparound)触发。 preparse 函数使用 为其输出缓冲区分配空间,其设计依据是为最长形式的占位符扩展 预留每输入字节对应七个输出字节的缓冲区。该乘法运算在 STRLEN 类型上进行,而在 32 位 Perl 构建中,STRLEN 为 32 位宽。因此,当输入语句长度为 613,566,757 字节时,计算结果

AI Predicted 8.1 Difficulty: Moderate EPSS 0.65% · P50

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application

Affected Version Matrix 1

VendorProduct Version RangeStatus
None None < 1.652 affected

I. Basic Information for CVE-2026-73193

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
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
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
整数溢出或超界折返
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
- - 0 ~ 1.652 -

II. Public POCs for CVE-2026-73193

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-73193

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-73193 (1)

Vendor Advisories for CVE-2026-73193 (1)

Other References for CVE-2026-73193 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-73193

No comments yet


Leave a comment