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
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
9.1
ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument
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.
- Record
CVE-2026-107373- CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
EUVDEUVD-2026-96314
9.1
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.
- Record
EUVD-2026-96314- CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-g3mm-4ggm-mrv5
9.1
ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the...
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.
- Record
GHSA-g3mm-4ggm-mrv5- CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
NVD
9.1
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.
- Record
CVE-2026-107373- CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
OSV
9.1
ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument
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.
- Record
CVE-2026-107373- CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-04
OSVDEBIAN-CVE-2026-107373
9.1
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.
- Record
DEBIAN-CVE-2026-107373- CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-107373
9.1
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.
- Record
UBUNTU-CVE-2026-107373- CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVMGASA-2026-0544 No score
Updated perl-ExtUtils-Typemaps-Default package fixes security vulnerabilities
ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument. (CVE-2026-107373) ExtUtils::Typemaps::STL::List versions before 1.07 for Perl allocate a 32 GiB array on an empty list. (CVE-2026-107794)
- Record
MGASA-2026-0544- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12404-1 No score
perl-ExtUtils-Typemaps-Default-1.70.0-1.1 on GA media
These are all security issues fixed in the perl-ExtUtils-Typemaps-Default-1.70.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12404-1- Updated
- 2026-11-04
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libextutils-typemaps-default-perlDebian:12 |
All versions, plus listed versions 1.05-51.07-1 |
None known |
libextutils-typemaps-default-perlDebian:13 |
All versions, plus listed versions 1.05-51.07-1 |
None known |
libextutils-typemaps-default-perlDebian:14 |
before 1.07-1, plus listed versions 1.05-5 |
1.07-1 |
perl-ExtUtils-Typemaps-DefaultMageia:10 From an advisory covering 2 CVEs |
before 1.70.0-1.mga10 | 1.70.0-1.mga10 |
libextutils-typemaps-default-perlUbuntu:16.04:LTS |
All versions, plus listed versions 1.05-2 |
None known |
libextutils-typemaps-default-perlUbuntu:18.04:LTS |
All versions, plus listed versions 1.05-2 |
None known |
libextutils-typemaps-default-perlUbuntu:20.04:LTS |
All versions, plus listed versions 1.05-2 |
None known |
libextutils-typemaps-default-perlUbuntu:22.04:LTS |
All versions, plus listed versions 1.05-2.1 |
None known |
libextutils-typemaps-default-perlUbuntu:24.04:LTS |
All versions, plus listed versions 1.05-5 |
None known |
libextutils-typemaps-default-perlUbuntu:26.10 |
All versions, plus listed versions 1.05-5 |
None known |
libextutils-typemaps-default-perlUbuntu:26.04:LTS |
All versions, plus listed versions 1.05-5 |
None known |
perl-ExtUtils-Typemaps-DefaultopenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 1.70.0-1.1 | 1.70.0-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| affected, aliases, facts, references | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-107373 is a critical vulnerability (CVSS 9.1) in libextutils-typemaps-default-perl, published October 10, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.39%, the 32nd percentile. Fixed in libextutils-typemaps-default-perl 1.07-1.
References
metacpan.org/release/SMUELLER/ExtUtils-Typemaps-Default-1.06/changes
github.com/tsee/extutils-typemap-default/commit/a6b9c298b34ddadc582961403e715d292f82a22d
rt.cpan.org/Public/Bug/Display.html?id=94110
cve.org/CVERecord?id=CVE-2026-80490
nvd.nist.gov/vuln/detail/CVE-2026-107373
github.com/advisories/GHSA-g3mm-4ggm-mrv5
Show 16 moreShow less
cpan.org/modules
github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107373.json
github.com/tsee/extutils-typemap-default
security-tracker.debian.org/tracker/CVE-2026-107373
advisories.mageia.org/MGASA-2026-0544.html
bugs.mageia.org/show_bug.cgi?id=36504
openwall.com/lists/oss-security/2026/10/10/7
openwall.com/lists/oss-security/2026/10/10/8
metacpan.org/release/SMUELLER/ExtUtils-Typemaps-Default-1.07/changes
rt.cpan.org/Public/Bug/Display.html?id=91213
lists.fedoraproject.org/archives/list/[email protected]/message/YRN5O43U7BVSD6AUJJF2XIVIIYTDQO6I
ubuntu.com/security/CVE-2026-107373
cve.org/CVERecord?id=CVE-2026-107373
bugs.debian.org/cgi-bin/bugreport.cgi?bug=1150541
suse.com/security/cve/CVE-2026-107373
suse.com/security/cve/CVE-2026-107794