{"id":"CVE-2026-88816","aliases":["AZL-105215","BELL-CVE-2026-88816","DEBIAN-CVE-2026-88816","EUVD-2026-88343","GHSA-f4qx-mr9m-q2hq","MGASA-2026-0486","OESA-2026-4251","OESA-2026-4252","OESA-2026-4253","OESA-2026-4254","SUSE-SU-2026:4442-1","SUSE-SU-2026:4612-1","SUSE-SU-2026:4805-1","UBUNTU-CVE-2026-88816","USN-8912-1","openSUSE-SU-2026:11966-1"],"status":"published","title":"DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName","description":"DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName.\n\nfetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault.\n\nThis can be triggered with the following code:\n\n   my $dbh = DBI-\u003econnect( \"dbi:ExampleP:\", \"\", \"\",\n       { RaiseError =\u003e 0, PrintError =\u003e 0 } );\n   $dbh-\u003e{FetchHashKeyName} = 42;\n\n   my $sth = $dbh-\u003eprepare(\"select mode, size, name from .\");\n   $sth-\u003eexecute;\n   $sth-\u003efetchrow_hashref;","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-12","score":0.00386,"percentile":0.33159,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-843"],"published":"2026-09-26T06:06:02.157295Z","modified":"2026-11-02T14:17:23Z","fixes":[{"ecosystem":"Azure Linux:3","package":"perl-DBI","fixed_in":["1.655-1"],"sources":["osv"]},{"ecosystem":"Alpaquita:23","package":"perl-dbi","fixed_in":["1.654-r0"],"sources":["osv"]},{"ecosystem":"Alpaquita:25","package":"perl-dbi","fixed_in":["1.654-r0"],"sources":["osv"]},{"ecosystem":"Alpaquita:stream","package":"perl-dbi","fixed_in":["1.654-r0"],"sources":["osv"]},{"ecosystem":"Debian:12","package":"libdbi-perl","fixed_in":["1.643-4+deb12u3"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"libdbi-perl","fixed_in":["1.654-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libdbi-perl","fixed_in":["1.630-1ubuntu0.1~esm9"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libdbi-perl","fixed_in":["1.634-1ubuntu0.2+esm5"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libdbi-perl","fixed_in":["1.640-1ubuntu0.3+esm4"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libdbi-perl","fixed_in":["1.643-1ubuntu0.1+esm4"],"sources":["osv"]},{"ecosystem":"Ubuntu:22.04:LTS","package":"libdbi-perl","fixed_in":["1.643-3ubuntu0.4"],"sources":["osv"]},{"ecosystem":"Ubuntu:24.04:LTS","package":"libdbi-perl","fixed_in":["1.643-4ubuntu0.4"],"sources":["osv"]},{"ecosystem":"Ubuntu:26.04:LTS","package":"libdbi-perl","fixed_in":["1.647-1ubuntu0.26.04.4"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Azure Linux:3","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.655-1"}]}]},{"source":"osv","ecosystem":"Alpaquita:23","package":"perl-dbi","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.643-r4"},{"fixed":"1.654-r0"}]}]},{"source":"osv","ecosystem":"Alpaquita:25","package":"perl-dbi","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.647-r0"},{"fixed":"1.654-r0"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"perl-dbi","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.643-r3"},{"fixed":"1.654-r0"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-4+deb12u3"}]}],"versions":["1.643-4","1.643-4+deb12u1","1.643-4+deb12u2"]},{"source":"osv","ecosystem":"Debian:13","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.647-1","1.647-1+deb13u1","1.648-1","1.649-1","1.650-1","1.651-1","1.652-1","1.652-2","1.652-2~deb13u1","1.653-1","1.654-1"]},{"source":"osv","ecosystem":"Debian:14","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.654-1"}]}],"versions":["1.647-1","1.648-1","1.649-1","1.650-1","1.651-1","1.652-1","1.652-2","1.652-2~deb13u1","1.653-1"]},{"source":"osv","ecosystem":"Mageia:10","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.655.0-1.mga10"}]}],"bundled":3},{"source":"osv","ecosystem":"openEuler:22.03-LTS-SP4","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-12.oe2203sp4"}]}],"bundled":2},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP1","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-12.oe2403sp1"}]}],"bundled":2},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP3","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-12.oe2403sp3"}]}],"bundled":2},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP4","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.648-8.oe2403sp4"}]}],"bundled":2},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.628-5.29.1"}]}],"bundled":2},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.642-150200.3.26.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.642-150200.3.26.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.642-150200.3.26.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.642-150200.3.26.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP4-LTSS","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.642-150200.3.26.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP5-LTSS","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.642-150200.3.26.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP4","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.642-150200.3.26.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP5","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.642-150200.3.26.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP7","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.647.0-150600.12.26.1"}]}],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.630-1ubuntu0.1~esm9"}]}],"versions":["1.627-1","1.628-1","1.630-1","1.630-1ubuntu0.1~esm1","1.630-1ubuntu0.1~esm4","1.630-1ubuntu0.1~esm5","1.630-1ubuntu0.1~esm6","1.630-1ubuntu0.1~esm8"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.634-1ubuntu0.2+esm5"}]}],"versions":["1.633-1","1.634-1","1.634-1build1","1.634-1ubuntu0.1","1.634-1ubuntu0.2","1.634-1ubuntu0.2+esm1","1.634-1ubuntu0.2+esm2","1.634-1ubuntu0.2+esm4"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.640-1ubuntu0.3+esm4"}]}],"versions":["1.637-1","1.639-1","1.640-1","1.640-1ubuntu0.1","1.640-1ubuntu0.2","1.640-1ubuntu0.3","1.640-1ubuntu0.3+esm1","1.640-1ubuntu0.3+esm3"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-1ubuntu0.1+esm4"}]}],"versions":["1.642-1","1.642-1build1","1.643-1","1.643-1ubuntu0.1","1.643-1ubuntu0.1+esm1","1.643-1ubuntu0.1+esm3"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-3ubuntu0.4"}]}],"versions":["1.643-3build2","1.643-3build3","1.643-3ubuntu0.1","1.643-3ubuntu0.3"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-4ubuntu0.4"}]}],"versions":["1.643-4","1.643-4build1","1.643-4build2","1.643-4build3","1.643-4ubuntu0.1","1.643-4ubuntu0.3"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.647-1build1","1.648-1","1.651-1","1.652-2"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.647-1ubuntu0.26.04.4"}]}],"versions":["1.647-1","1.647-1build1","1.647-1ubuntu0.26.04.1","1.647-1ubuntu0.26.04.3"]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.630-1ubuntu0.1~esm9"}]}],"versions":["1.627-1","1.628-1","1.630-1","1.630-1ubuntu0.1~esm1","1.630-1ubuntu0.1~esm4","1.630-1ubuntu0.1~esm5","1.630-1ubuntu0.1~esm6","1.630-1ubuntu0.1~esm8"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.634-1ubuntu0.2+esm5"}]}],"versions":["1.633-1","1.634-1","1.634-1build1","1.634-1ubuntu0.1","1.634-1ubuntu0.2","1.634-1ubuntu0.2+esm1","1.634-1ubuntu0.2+esm2","1.634-1ubuntu0.2+esm4"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.640-1ubuntu0.3+esm4"}]}],"versions":["1.637-1","1.639-1","1.640-1","1.640-1ubuntu0.1","1.640-1ubuntu0.2","1.640-1ubuntu0.3","1.640-1ubuntu0.3+esm1","1.640-1ubuntu0.3+esm3"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-1ubuntu0.1+esm4"}]}],"versions":["1.642-1","1.642-1build1","1.643-1","1.643-1ubuntu0.1","1.643-1ubuntu0.1+esm1","1.643-1ubuntu0.1+esm3"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-3ubuntu0.4"}]}],"versions":["1.643-3build2","1.643-3build3","1.643-3ubuntu0.1","1.643-3ubuntu0.3"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-4ubuntu0.4"}]}],"versions":["1.643-4","1.643-4build1","1.643-4build2","1.643-4build3","1.643-4ubuntu0.1","1.643-4ubuntu0.3"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"libdbi-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.647-1ubuntu0.26.04.4"}]}],"versions":["1.647-1","1.647-1build1","1.647-1ubuntu0.26.04.1","1.647-1ubuntu0.26.04.3"],"bundled":2},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"perl-DBI","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.655.0-1.1"}]}],"bundled":2}],"references":[{"url":"https://github.com/perl5-dbi/dbi/security/advisories/GHSA-f4qx-mr9m-q2hq","tags":["vendor-advisory","exploit","advisory"]},{"url":"https://github.com/perl5-dbi/dbi/commit/70962570212dc60a5428098cf2a0462ad5945851.patch","tags":["patch","fix"]},{"url":"https://metacpan.org/release/HMBRAND/DBI-1.654/changes","tags":["release-notes","advisory"]},{"url":"http://www.openwall.com/lists/oss-security/2026/09/28/13","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-88816","tags":["web","advisory"]},{"url":"https://docs.bell-sw.com/security/cves/CVE-2026-88816","tags":["advisory"]},{"url":"https://cpan.org/modules","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88816.json","tags":["advisory"]},{"url":"https://github.com/perl5-dbi/dbi","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-88816","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2026-0486.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=36312","tags":["report"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/X2QBTFMS57S7DYK666C4OQBHWDRGW3Q7/","tags":["web"]},{"url":"https://www.openwall.com/lists/oss-security/2026/09/19/4","tags":["web"]},{"url":"https://www.openwall.com/lists/oss-security/2026/09/28/12","tags":["web"]},{"url":"https://www.openwall.com/lists/oss-security/2026/09/28/13","tags":["web"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-4251","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-88815","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-4252","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-4253","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-4254","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20264442-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1283055","tags":["report"]},{"url":"https://bugzilla.suse.com/1283056","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-88815","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-88816","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20264612-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1281704","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-78030","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20264805-1/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-88816","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-88816","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-8912-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-78030","tags":["report"]},{"url":"","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-88816","title":"DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName","description":"DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName.\n\nfetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault.\n\nThis can be triggered with the following code:\n\n   my $dbh = DBI-\u003econnect( \"dbi:ExampleP:\", \"\", \"\",\n       { RaiseError =\u003e 0, PrintError =\u003e 0 } );\n   $dbh-\u003e{FetchHashKeyName} = 42;\n\n   my $sth = $dbh-\u003eprepare(\"select mode, size, name from .\");\n   $sth-\u003eexecute;\n   $sth-\u003efetchrow_hashref;","status":"published","published":"2026-09-28T16:04:40.458Z","modified":"2026-09-30T19:51:20.177Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"adp"}],"cwes":["CWE-843"],"updated_at":"2026-11-02T13:41:53.237769Z"}],"euvd":[{"id":"EUVD-2026-88343","description":"DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName.\n\nfetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault.\n\nThis can be triggered with the following code:\n\n   my $dbh = DBI-\u003econnect( \"dbi:ExampleP:\", \"\", \"\",\n       { RaiseError =\u003e 0, PrintError =\u003e 0 } );\n   $dbh-\u003e{FetchHashKeyName} = 42;\n\n   my $sth = $dbh-\u003eprepare(\"select mode, size, name from .\");\n   $sth-\u003eexecute;\n   $sth-\u003efetchrow_hashref;","status":"published","published":"2026-09-28T16:04:40Z","modified":"2026-09-30T19:51:20Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T17:27:47.293232Z"}],"nvd":[{"id":"CVE-2026-88816","description":"DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName.\n\nfetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault.\n\nThis can be triggered with the following code:\n\n   my $dbh = DBI-\u003econnect( \"dbi:ExampleP:\", \"\", \"\",\n       { RaiseError =\u003e 0, PrintError =\u003e 0 } );\n   $dbh-\u003e{FetchHashKeyName} = 42;\n\n   my $sth = $dbh-\u003eprepare(\"select mode, size, name from .\");\n   $sth-\u003eexecute;\n   $sth-\u003efetchrow_hashref;","status":"published","published":"2026-09-28T17:17:52.203Z","modified":"2026-09-30T20:17:35.557Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-843"],"updated_at":"2026-11-02T14:12:52.081323Z"}],"osv":[{"id":"BELL-CVE-2026-88816","status":"published","published":"2026-09-26T06:06:02.157295Z","modified":"2026-10-02T07:15:03.485557271Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:28:26.630331Z"},{"id":"CVE-2026-88816","title":"DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName","description":"DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName.\n\nfetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault.\n\nThis can be triggered with the following code:\n\n   my $dbh = DBI-\u003econnect( \"dbi:ExampleP:\", \"\", \"\",\n       { RaiseError =\u003e 0, PrintError =\u003e 0 } );\n   $dbh-\u003e{FetchHashKeyName} = 42;\n\n   my $sth = $dbh-\u003eprepare(\"select mode, size, name from .\");\n   $sth-\u003eexecute;\n   $sth-\u003efetchrow_hashref;","status":"published","published":"2026-09-28T16:04:40.458Z","modified":"2026-10-28T02:30:24.022967277Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-843"],"updated_at":"2026-11-02T15:45:19.210277Z"},{"id":"DEBIAN-CVE-2026-88816","description":"DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName.  fetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault.  This can be triggered with the following code:     my $dbh = DBI-\u003econnect( \"dbi:ExampleP:\", \"\", \"\",        { RaiseError =\u003e 0, PrintError =\u003e 0 } );    $dbh-\u003e{FetchHashKeyName} = 42;     my $sth = $dbh-\u003eprepare(\"select mode, size, name from .\");    $sth-\u003eexecute;    $sth-\u003efetchrow_hashref;","status":"published","published":"2026-09-28T17:17:52.203Z","modified":"2026-10-01T09:00:57.064156914Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:46:05.506112Z"},{"id":"OESA-2026-4251","title":"perl-DBI security update","description":"The DBI is the standard database interface module for Perl. It defines a set of methods, variables and conventions that provide a consistent database interface independent of the actual database being used. It is important to remember that the DBI is just an interface. The DBI is a layer of \u0026amp;quot;glue\u0026amp;quot; between an application and one or more database driver modules. It is the driver modules which do most of the real work. The DBI provides a standard interface and framework for the drivers to operate within.\r\n\r\nSecurity Fix(es):\n\nDBI versions before 1.654 for Perl incorrectly treat numeric values as strings in sql_type_cast_svpv.\n\nWhen casting to SQL_NUMERIC, sql_type_cast_svpv passes the string pointer and length of the SV to grok_number without stringifying it first. An integer (IV) or floating-point (NV) value has no valid string pointer, so grok_number reads from an invalid address, triggering a segmentation fault.\n\nThis is reachable in Perl using the sql_type_cast function:\n\n  my $num = 42;\n  DBI::sql_type_cast( $num, DBI::SQL_NUMERIC, 0 );(CVE-2026-88815)\n\nDBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName.\n\nfetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault.\n\nThis can be triggered with the following code:\n\n   my $dbh = DBI-\u0026gt;connect( \u0026quot;dbi:ExampleP:\u0026quot;, \u0026quot;\u0026quot;, \u0026quot;\u0026quot;,\n       { RaiseError =\u0026gt; 0, PrintError =\u0026gt; 0 } );\n   $dbh-\u0026gt;{FetchHashKeyName} = 42;\n\n   my $sth = $dbh-\u0026gt;prepare(\u0026quot;select mode, size, name from .\u0026quot;);\n   $sth-\u0026gt;execute;\n   $sth-\u0026gt;fetchrow_hashref;(CVE-2026-88816)","status":"published","published":"2026-10-16T11:58:36Z","modified":"2026-10-16T12:15:05.299740579Z","cvss":[{"version":"3.1","score":6.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:52:47.643553Z"},{"id":"OESA-2026-4252","title":"perl-DBI security update","description":"The DBI is the standard database interface module for Perl. It defines a set of methods, variables and conventions that provide a consistent database interface independent of the actual database being used. It is important to remember that the DBI is just an interface. The DBI is a layer of \u0026amp;quot;glue\u0026amp;quot; between an application and one or more database driver modules. It is the driver modules which do most of the real work. The DBI provides a standard interface and framework for the drivers to operate within.\r\n\r\nSecurity Fix(es):\n\nDBI versions before 1.654 for Perl incorrectly treat numeric values as strings in sql_type_cast_svpv.\n\nWhen casting to SQL_NUMERIC, sql_type_cast_svpv passes the string pointer and length of the SV to grok_number without stringifying it first. An integer (IV) or floating-point (NV) value has no valid string pointer, so grok_number reads from an invalid address, triggering a segmentation fault.\n\nThis is reachable in Perl using the sql_type_cast function:\n\n  my $num = 42;\n  DBI::sql_type_cast( $num, DBI::SQL_NUMERIC, 0 );(CVE-2026-88815)\n\nDBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName.\n\nfetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault.\n\nThis can be triggered with the following code:\n\n   my $dbh = DBI-\u0026gt;connect( \u0026quot;dbi:ExampleP:\u0026quot;, \u0026quot;\u0026quot;, \u0026quot;\u0026quot;,\n       { RaiseError =\u0026gt; 0, PrintError =\u0026gt; 0 } );\n   $dbh-\u0026gt;{FetchHashKeyName} = 42;\n\n   my $sth = $dbh-\u0026gt;prepare(\u0026quot;select mode, size, name from .\u0026quot;);\n   $sth-\u0026gt;execute;\n   $sth-\u0026gt;fetchrow_hashref;(CVE-2026-88816)","status":"published","published":"2026-10-16T11:58:37Z","modified":"2026-10-16T12:15:04.294974638Z","cvss":[{"version":"3.1","score":6.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:52:47.643553Z"},{"id":"OESA-2026-4253","title":"perl-DBI security update","description":"The DBI is the standard database interface module for Perl. It defines a set of methods, variables and conventions that provide a consistent database interface independent of the actual database being used. It is important to remember that the DBI is just an interface. The DBI is a layer of \u0026amp;quot;glue\u0026amp;quot; between an application and one or more database driver modules. It is the driver modules which do most of the real work. The DBI provides a standard interface and framework for the drivers to operate within.\r\n\r\nSecurity Fix(es):\n\nDBI versions before 1.654 for Perl incorrectly treat numeric values as strings in sql_type_cast_svpv.\n\nWhen casting to SQL_NUMERIC, sql_type_cast_svpv passes the string pointer and length of the SV to grok_number without stringifying it first. An integer (IV) or floating-point (NV) value has no valid string pointer, so grok_number reads from an invalid address, triggering a segmentation fault.\n\nThis is reachable in Perl using the sql_type_cast function:\n\n  my $num = 42;\n  DBI::sql_type_cast( $num, DBI::SQL_NUMERIC, 0 );(CVE-2026-88815)\n\nDBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName.\n\nfetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault.\n\nThis can be triggered with the following code:\n\n   my $dbh = DBI-\u0026gt;connect( \u0026quot;dbi:ExampleP:\u0026quot;, \u0026quot;\u0026quot;, \u0026quot;\u0026quot;,\n       { RaiseError =\u0026gt; 0, PrintError =\u0026gt; 0 } );\n   $dbh-\u0026gt;{FetchHashKeyName} = 42;\n\n   my $sth = $dbh-\u0026gt;prepare(\u0026quot;select mode, size, name from .\u0026quot;);\n   $sth-\u0026gt;execute;\n   $sth-\u0026gt;fetchrow_hashref;(CVE-2026-88816)","status":"published","published":"2026-10-16T11:58:37Z","modified":"2026-10-16T12:15:05.208242341Z","cvss":[{"version":"3.1","score":6.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:52:47.643553Z"},{"id":"OESA-2026-4254","title":"perl-DBI security update","description":"The DBI is the standard database interface module for Perl. It defines a set of methods, variables and conventions that provide a consistent database interface independent of the actual database being used. It is important to remember that the DBI is just an interface. The DBI is a layer of \u0026amp;quot;glue\u0026amp;quot; between an application and one or more database driver modules. It is the driver modules which do most of the real work. The DBI provides a standard interface and framework for the drivers to operate within.\r\n\r\nSecurity Fix(es):\n\nDBI versions before 1.654 for Perl incorrectly treat numeric values as strings in sql_type_cast_svpv.\n\nWhen casting to SQL_NUMERIC, sql_type_cast_svpv passes the string pointer and length of the SV to grok_number without stringifying it first. An integer (IV) or floating-point (NV) value has no valid string pointer, so grok_number reads from an invalid address, triggering a segmentation fault.\n\nThis is reachable in Perl using the sql_type_cast function:\n\n  my $num = 42;\n  DBI::sql_type_cast( $num, DBI::SQL_NUMERIC, 0 );(CVE-2026-88815)\n\nDBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName.\n\nfetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault.\n\nThis can be triggered with the following code:\n\n   my $dbh = DBI-\u0026gt;connect( \u0026quot;dbi:ExampleP:\u0026quot;, \u0026quot;\u0026quot;, \u0026quot;\u0026quot;,\n       { RaiseError =\u0026gt; 0, PrintError =\u0026gt; 0 } );\n   $dbh-\u0026gt;{FetchHashKeyName} = 42;\n\n   my $sth = $dbh-\u0026gt;prepare(\u0026quot;select mode, size, name from .\u0026quot;);\n   $sth-\u0026gt;execute;\n   $sth-\u0026gt;fetchrow_hashref;(CVE-2026-88816)","status":"published","published":"2026-10-16T11:58:38Z","modified":"2026-10-16T12:15:05.196193009Z","cvss":[{"version":"3.1","score":6.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:52:47.643553Z"},{"id":"UBUNTU-CVE-2026-88816","description":"DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName. fetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault. This can be triggered with the following code:    my $dbh = DBI-\u003econnect( \"dbi:ExampleP:\", \"\", \"\",        { RaiseError =\u003e 0, PrintError =\u003e 0 } );    $dbh-\u003e{FetchHashKeyName} = 42;    my $sth = $dbh-\u003eprepare(\"select mode, size, name from .\");    $sth-\u003eexecute;    $sth-\u003efetchrow_hashref;","status":"published","published":"2026-09-28T17:17:00Z","modified":"2026-10-17T13:01:15.858961109Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T16:57:24.828975Z"},{"id":"AZL-105215","title":"CVE-2026-88816 affecting package perl-DBI for versions less than 1.655-1","description":"DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName.\n\nfetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault.\n\nThis can be triggered with the following code:\n\n   my $dbh = DBI-\u003econnect( \"dbi:ExampleP:\", \"\", \"\",\n       { RaiseError =\u003e 0, PrintError =\u003e 0 } );\n   $dbh-\u003e{FetchHashKeyName} = 42;\n\n   my $sth = $dbh-\u003eprepare(\"select mode, size, name from .\");\n   $sth-\u003eexecute;\n   $sth-\u003efetchrow_hashref;","status":"published","published":"2026-09-28T17:17:52Z","modified":"2026-11-02T14:17:23.476780739Z","updated_at":"2026-11-02T15:28:01.09948Z"},{"id":"MGASA-2026-0486","title":"Updated perl-DBI package fixes security vulnerabilities","description":"DBI versions before 1.653 for Perl load arbitrary modules via\nunvalidated dbm_type and dbm_mldbm attributes in DBD::DBM.\n(CVE-2026-78030)\nDBI versions before 1.654 for Perl incorrectly treat numeric values as\nstrings in sql_type_cast_svpv. (CVE-2026-88815)\nDBI versions before 1.654 for Perl incorrectly treat numeric values as\nstrings in FetchHashKeyName. (CVE-2026-88816)\n","status":"published","published":"2026-10-12T18:47:12Z","modified":"2026-10-12T19:00:45.056075326Z","updated_at":"2026-11-02T15:49:43.795591Z"},{"id":"openSUSE-SU-2026:11966-1","title":"perl-DBI-1.655.0-1.1 on GA media","description":"These are all security issues fixed in the perl-DBI-1.655.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-10-02T00:00:00Z","modified":"2026-10-03T17:23:10.032196615Z","updated_at":"2026-11-02T16:58:40.245664Z"},{"id":"SUSE-SU-2026:4442-1","title":"Security update for perl-DBI","description":"This update for perl-DBI fixes the following issues:\n\n- CVE-2026-88815: numeric value incorrectly treated as strings in `sql_type_cast_svpv` allows for process crash\n  (bsc#1283055).\n- CVE-2026-88816: numeric value incorrectly treated as strings in `FetchHashKeyName` allows for process crash\n  (bsc#1283056).\n","status":"published","published":"2026-10-05T08:18:25Z","modified":"2026-10-05T18:00:05.538243207Z","updated_at":"2026-11-02T15:54:05.838224Z"},{"id":"SUSE-SU-2026:4612-1","title":"Security update for perl-DBI","description":"This update for perl-DBI fixes the following issues:\n\n- CVE-2026-78030: arbitrary modules loaded due to unvalidated `dbm_type` and `dbm_mldbm` attributes in `DBD::DBM`\n  (bsc#1281704).\n- CVE-2026-88815: numeric value incorrectly treated as strings in `sql_type_cast_svpv` allows for process crash\n  (bsc#1283055).\n- CVE-2026-88816: numeric value incorrectly treated as strings in `FetchHashKeyName` allows for process crash\n  (bsc#1283056).\n","status":"published","published":"2026-10-09T15:56:45Z","modified":"2026-10-10T09:30:06.449818329Z","updated_at":"2026-11-02T15:54:05.838224Z"},{"id":"SUSE-SU-2026:4805-1","title":"Security update for perl-DBI","description":"This update for perl-DBI fixes the following issues:\n\n- CVE-2026-88815: numeric value incorrectly treated as strings in `sql_type_cast_svpv` allows for process crash\n  (bsc#1283055).\n- CVE-2026-88816: numeric value incorrectly treated as strings in `FetchHashKeyName` allows for process crash\n  (bsc#1283056).\n","status":"published","published":"2026-10-21T08:01:10Z","modified":"2026-10-21T20:02:15.439538218Z","updated_at":"2026-11-02T15:54:05.838224Z"},{"id":"USN-8912-1","title":"libdbi-perl vulnerabilities","description":"Harsh Raj Singhania discovered that the Perl DBI module did not\ncorrectly validate certain attributes. An attacker could possibly use\nthis issue to execute arbitrary code. (CVE-2026-78030)\n\nHarsh Raj Singhania discovered that the Perl DBI module did not\ncorrectly handle certain string operations. An attacker could possibly\nuse this issue to cause a denial of service. (CVE-2026-88816)","status":"published","published":"2026-10-12T02:53:18Z","modified":"2026-10-12T14:27:53.374176663Z","updated_at":"2026-11-02T16:58:26.907654Z"}]}}
