{"id":"CVE-2026-107373","aliases":["DEBIAN-CVE-2026-107373","EUVD-2026-96314","GHSA-g3mm-4ggm-mrv5","MGASA-2026-0544","UBUNTU-CVE-2026-107373","openSUSE-SU-2026:12404-1","openSUSE-SU-2026:12490-1"],"status":"published","title":"ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument","description":"ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument.\n\nThe typemap uses\n\n    $var = std::string( SvPV_nolen($arg), SvCUR($arg) )\n\nHowever, evaluation order for C++ arguments is not specified, and some compilers may produce code that evalutes SvCUR($arg) first.\n\nWhen $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.","severity":{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-12","score":0.00387,"percentile":0.33243,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-125"],"published":"2026-10-10T12:44:08Z","modified":"2026-11-09T13:42:15Z","fixes":[{"ecosystem":"Debian:14","package":"libextutils-typemaps-default-perl","fixed_in":["1.07-1"],"sources":["osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"perl-Math-Clipper","fixed_in":["1.300.0-1.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"libextutils-typemaps-default-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.05-5","1.07-1"]},{"source":"osv","ecosystem":"Debian:13","package":"libextutils-typemaps-default-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.05-5","1.07-1"]},{"source":"osv","ecosystem":"Debian:14","package":"libextutils-typemaps-default-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.07-1"}]}],"versions":["1.05-5"]},{"source":"osv","ecosystem":"Mageia:10","package":"perl-ExtUtils-Typemaps-Default","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.70.0-1.mga10"}]}],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"libextutils-typemaps-default-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.05-2"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"libextutils-typemaps-default-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.05-2"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"libextutils-typemaps-default-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.05-2"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"libextutils-typemaps-default-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.05-2.1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"libextutils-typemaps-default-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.05-5"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"libextutils-typemaps-default-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.05-5"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"libextutils-typemaps-default-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.05-5"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"perl-ExtUtils-Typemaps-Default","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.70.0-1.1"}]}],"bundled":2},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"perl-Math-Clipper","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.300.0-1.1"}]}]}],"references":[{"url":"https://metacpan.org/release/SMUELLER/ExtUtils-Typemaps-Default-1.06/changes","tags":["release-notes","advisory","web"]},{"url":"https://github.com/tsee/extutils-typemap-default/commit/a6b9c298b34ddadc582961403e715d292f82a22d","tags":["fix"]},{"url":"https://rt.cpan.org/Public/Bug/Display.html?id=94110","tags":["issue-tracking","report","web"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-80490","tags":["related","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-107373","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-g3mm-4ggm-mrv5"},{"url":"https://cpan.org/modules","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107373.json","tags":["advisory"]},{"url":"https://github.com/tsee/extutils-typemap-default","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-107373","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2026-0544.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=36504","tags":["report"]},{"url":"https://www.openwall.com/lists/oss-security/2026/10/10/7","tags":["web"]},{"url":"https://www.openwall.com/lists/oss-security/2026/10/10/8","tags":["web"]},{"url":"https://metacpan.org/release/SMUELLER/ExtUtils-Typemaps-Default-1.07/changes","tags":["web"]},{"url":"https://rt.cpan.org/Public/Bug/Display.html?id=91213","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YRN5O43U7BVSD6AUJJF2XIVIIYTDQO6I/","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2026-107373","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-107373","tags":["report"]},{"url":"cpan.org/modules","tags":["report"]},{"url":"github.com/tsee/extutils-typemap-default","tags":["report"]},{"url":"github.com/tsee/extutils-typemap-default/commit/a6b9c298b34ddadc582961403e715d292f82a22d","tags":["report"]},{"url":"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1150541","tags":["report"]},{"url":"lists.security.metacpan.org/cve-announce/msg/44245994","tags":["report"]},{"url":"rt.cpan.org/public/bug/display.html?id=94110","tags":["report"]},{"url":"security-tracker.debian.org/tracker/cve-2026-107373","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-107373","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-107794","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-107373","title":"ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument","description":"ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument.\n\nThe typemap uses\n\n    $var = std::string( SvPV_nolen($arg), SvCUR($arg) )\n\nHowever, evaluation order for C++ arguments is not specified, and some compilers may produce code that evalutes SvCUR($arg) first.\n\nWhen $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.","status":"published","published":"2026-10-10T12:44:08.099Z","modified":"2026-10-16T15:39:45.111Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical","assessor":"adp"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T13:45:14.072357Z"}],"euvd":[{"id":"EUVD-2026-96314","description":"ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument.\n\nThe typemap uses\n\n    $var = std::string( SvPV_nolen($arg), SvCUR($arg) )\n\nHowever, evaluation order for C++ arguments is not specified, and some compilers may produce code that evalutes SvCUR($arg) first.\n\nWhen $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.","status":"published","published":"2026-10-10T12:44:08Z","modified":"2026-10-16T15:39:45Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"updated_at":"2026-11-02T17:00:05.229655Z"}],"ghsa":[{"id":"GHSA-g3mm-4ggm-mrv5","title":"ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the...","description":"ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument.\n\nThe typemap uses\n\n    $var = std::string( SvPV_nolen($arg), SvCUR($arg) )\n\nHowever, evaluation order for C++ arguments is not specified, and some compilers may produce code that evalutes SvCUR($arg) first.\n\nWhen $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.","status":"published","published":"2026-10-10T15:30:22Z","modified":"2026-10-16T18:34:10Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T15:13:52.326136Z"}],"nvd":[{"id":"CVE-2026-107373","description":"ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument.\n\nThe typemap uses\n\n    $var = std::string( SvPV_nolen($arg), SvCUR($arg) )\n\nHowever, evaluation order for C++ arguments is not specified, and some compilers may produce code that evalutes SvCUR($arg) first.\n\nWhen $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.","status":"published","published":"2026-10-10T13:17:31.253Z","modified":"2026-10-16T16:16:57.31Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T14:12:55.874869Z"}],"osv":[{"id":"CVE-2026-107373","title":"ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument","description":"ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument.\n\nThe typemap uses\n\n    $var = std::string( SvPV_nolen($arg), SvCUR($arg) )\n\nHowever, evaluation order for C++ arguments is not specified, and some compilers may produce code that evalutes SvCUR($arg) first.\n\nWhen $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.","status":"published","published":"2026-10-10T12:44:08.099Z","modified":"2026-11-09T13:42:15.433940522Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"cwes":["CWE-125"],"updated_at":"2026-11-09T14:01:18.614326Z"},{"id":"DEBIAN-CVE-2026-107373","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.","status":"published","published":"2026-10-10T13:17:31.253Z","modified":"2026-10-23T18:05:31.298994432Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"updated_at":"2026-11-02T15:45:49.381767Z"},{"id":"UBUNTU-CVE-2026-107373","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.","status":"published","published":"2026-10-10T13:17:00Z","modified":"2026-10-22T10:30:04.369906463Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"updated_at":"2026-11-02T16:55:59.130573Z"},{"id":"MGASA-2026-0544","title":"Updated perl-ExtUtils-Typemaps-Default package fixes security vulnerabilities","description":"ExtUtils::Typemaps::STL::String versions before 1.06 for Perl\nT_STD_STRING typemap may read the SV length before stringifying the\nargument. (CVE-2026-107373)\nExtUtils::Typemaps::STL::List versions before 1.07 for Perl allocate a\n32 GiB array on an empty list. (CVE-2026-107794)\n","status":"published","published":"2026-10-26T15:28:20Z","modified":"2026-10-26T15:30:03.17087964Z","updated_at":"2026-11-02T15:49:43.795591Z"},{"id":"openSUSE-SU-2026:12404-1","title":"perl-ExtUtils-Typemaps-Default-1.70.0-1.1 on GA media","description":"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.","status":"published","published":"2026-11-03T00:00:00Z","modified":"2026-11-04T17:23:22.228682618Z","updated_at":"2026-11-04T17:43:22.558805Z"},{"id":"openSUSE-SU-2026:12490-1","title":"perl-Math-Clipper-1.300.0-1.1 on GA media","description":"These are all security issues fixed in the perl-Math-Clipper-1.300.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-11-08T00:00:00Z","modified":"2026-11-09T13:30:03.339003014Z","updated_at":"2026-11-09T14:01:18.614326Z"}]}}
