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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-80490— Algorithm::AhoCorasick::XS versions through 0.04 for Perl read the haystack string length before the scalar is stringified

Quick assessment

Affected
CVE-2026-80490
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 模块 在 0.04 及之前版本中,会在将 haystack(待搜索字符串)标量转换为字符串之前读取其长度。 、 和 方法使用 typemap,通过 构造函数将 Perl 标量(SV)转换为 C++ 字符串。该过程使用 宏将 haystack 输入转换为字符串,并使用 宏获取 SV 的长度。 当输入的 SV 是引用、整数(IV)或浮点数(NV)时,如果在输入被字符串化之前执行 宏,它将返回无效的长度值,从而导致越界读取(out-of-bounds read),可能使进程异常终止。 需要注意的是, 构造函数的

AI Predicted 5.3 Difficulty: Easy EPSS 0.19% · P8

Possible ATT&CK Techniques 1 AI

T1203 · Exploitation for Client Execution

Affected Version Matrix 1

VendorProduct Version RangeStatus
None None ≤ 0.04 affected

I. Basic Information for CVE-2026-80490

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
Algorithm::AhoCorasick::XS versions through 0.04 for Perl read the haystack string length before the scalar is stringified
Source: CVE Program / CVE List V5
Vulnerability Description
Algorithm::AhoCorasick::XS versions through 0.04 for Perl read the haystack string length before the scalar is stringified. The matches, first_match and match_details methods use the T_STD_STRING typemap to translate Perl scalars (SVs) into strings via the std::string constructor, using the SvPV macro to stringify the haystack input, and the SvCUR macro to determine the length of the SV. When the input SVs are references, integers (IVs) or floats (NVs), the SvCUR macro will return an invalid length if it is run before the input is stringified, leading to an out-of-bounds read which can abort the process. Note that the evaluation order of arguments to std::string is unspecified. Depending on the compiler, SvCUR may be run first and lead to an abort that cannot be caught within Perl. This can be triggered when the haystack is a numeric value, for example, my $ac = Algorithm::AhoCorasick::XS->new( [ "11", "22" ] ); $ac->matches( 211 ); This can occur when the haystack is the result of reading data from decoded JSON or a numeric database column. It can also be triggered when using a blessed object as a haystack.
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 ~ 0.04 -

II. Public POCs for CVE-2026-80490

# 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-80490

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

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

Other References for CVE-2026-80490 (2)

Other References for CVE-2026-80490 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-80490

No comments yet


Leave a comment