CVE-2026-107373
ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument
- State
- Published
- Severity
- 9.1 Critical
- Published
- Oct 10, 2026
- Updated
- Oct 16, 2026
- Reserved
- Oct 7, 2026
Description
ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument.
The typemap uses
$var = std::string( SvPV_nolen($arg), SvCUR($arg) )
However, evaluation order for C++ arguments is not specified, and some compilers may produce code that evalutes SvCUR($arg) first.
When $arg is not a string (for example, an interger, number or a reference) then SvCUR will return an invalid value, and the program may abort or segfault.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 9.1 Critical | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H | CISA-ADP |
Weaknesses
- CWE-125 Out-of-bounds Read
Affected Products
| Product | Versions |
|---|---|
ExtUtils-Typemaps-Default |
|
References
- https://metacpan.org/release/SMUELLER/ExtUtils-Typemaps-Default-1.06/changesrelease-notes
- https://github.com/tsee/extutils-typemap-default/commit/a6b9c298b34ddadc582961403e715d292f82a22d
- https://rt.cpan.org/Public/Bug/Display.html?id=94110issue-tracking
- https://www.cve.org/CVERecord?id=CVE-2026-80490related
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.