
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-107373 is an out-of-bounds read vulnerability in ExtUtils::Typemaps::STL::String (part of the ExtUtils-Typemaps-Default Perl distribution) affecting versions before 1.06. The flaw exists in the T_STD_STRING typemap, which may read the SV (scalar value) length before stringifying the argument due to unspecified C++ argument evaluation order. It was published on October 10, 2026, with a patch available in version 1.06. The vulnerability carries a CVSS v3.1 base score of 9.1 (Critical) (Github Advisory, Red Hat Bugzilla).
The root cause is an unsafe C++ argument evaluation order in the T_STD_STRING typemap (CWE-125: Out-of-bounds Read). The vulnerable code constructs a std::string using $var = std::string( SvPV_nolen($arg), SvCUR($arg) ), where SvPV_nolen stringifies the Perl scalar and SvCUR returns its current length. Because the C++ standard does not specify the order in which function arguments are evaluated, some compilers may evaluate SvCUR($arg) before SvPV_nolen($arg) has had a chance to stringify the value. When $arg is a non-string type (integer, floating-point number, or reference), SvCUR returns an invalid or garbage length, potentially causing the program to read out-of-bounds memory, abort, or segfault (Github Advisory, GitHub Commit). The fix replaces the problematic construct with a two-step approach: first capturing the pointer and length via SvPV($arg, len), then constructing the std::string from those values (GitHub Commit).
Successful exploitation can cause the affected Perl application to abort or segfault, resulting in a denial of service condition. Additionally, because SvCUR may return an invalid length causing an out-of-bounds memory read, there is a potential for unintended memory disclosure (confidentiality impact rated High in the CVSS score). Any caller — including unauthenticated network users if the vulnerable typemap is exposed through a network-accessible Perl application — can trigger the crash by passing a non-string argument (integer, number, or reference) where a string is expected (Github Advisory, Red Hat Bugzilla).
There is no known public proof-of-concept exploit and no evidence of in-the-wild exploitation at this time (Github Advisory). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.187%, placing it in the 8th percentile for exploitation likelihood within 30 days. The NVD SSVC assessment classifies exploitation as "none" and the attack as automatable, meaning a network attacker could potentially trigger the flaw without manual interaction if the vulnerable code path is reachable (Github Advisory).
ExtUtils::Typemaps::STL::String (part of ExtUtils-Typemaps-Default < 1.06) and exposes a function or API endpoint that accepts user-supplied input mapped through the T_STD_STRING typemap.SvCUR($arg) before SvPV_nolen($arg) stringifies the value (compiler-dependent), causing SvCUR to return an invalid length and the std::string constructor to read out-of-bounds memory.ExtUtils::Typemaps::STL::String or T_STD_STRING.Upgrade ExtUtils-Typemaps-Default to version 1.06 or later, which fixes the unsafe argument evaluation by using SvPV($arg, len) to atomically capture both the string pointer and its length before constructing the std::string (GitHub Commit, Github Advisory). As a workaround prior to patching, applications can add input validation to ensure only string-type values are passed to functions using the T_STD_STRING typemap. Red Hat has tracked this issue in their bugzilla for affected packages (Red Hat Bugzilla).
The vulnerability was reported via the CPAN bug tracker (RT ticket #94110) and assigned by CPANSec. Red Hat opened a security response bug (BZ#2548972) and classified it as medium severity for their products. No significant broader media coverage or notable researcher commentary beyond standard vulnerability database entries has been observed.
Fix availability across major Linux distributions and their releases.
bookworm
libextutils-typemaps-default-perl
sid
libextutils-typemaps-default-perl: 1.07-1
trixie
libextutils-typemaps-default-perl
bionic (esm-apps)
libextutils-typemaps-default-perl
devel
libextutils-typemaps-default-perl
focal (esm-apps)
libextutils-typemaps-default-perl
jammy
libextutils-typemaps-default-perl
jammy (esm-apps)
libextutils-typemaps-default-perl
noble
libextutils-typemaps-default-perl
noble (esm-apps)
libextutils-typemaps-default-perl
resolute
libextutils-typemaps-default-perl
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."