{"id":"OESA-2026-3183","summary":"perl-DBI security update","details":"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 &amp;quot;glue&amp;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.650 for Perl have a heap overflow when preparsing SQL statements with an extreme number of placeholders.\n\nThe fix for CVE-2026-10879 did not allocate enough memory to handle approximately 1.2-million placeholders.\n\nDBI version 1.650 sets a hard limit of 99,999 placeholders.(CVE-2026-14739)\n\nDBI::SQL::Nano versions from 1.42 before 1.651 for Perl have inverted &lt;= and &gt;= SQL operators on text.\n\nDBI::SQL::Nano, DBI&apos;s built-in mini-SQL engine, evaluated WHERE predicates incorrectly in some cases. In the non-numeric string branch of the is_matched method, &lt;= was evaluated using Perl&apos;s ge operator, and &gt;= was evaluated using Perl&apos;s le operator.\n\nSQL::Nano is the fallback query engine for DBI&apos;s file-backed drivers (DBD::File, DBD::DBM, CSV-style drivers) whenever SQL::Statement is not installed, and is forced whenever DBI_SQL_NANO=1. Queries over such tables use these predicates directly.\n\nThe impact depends on the context. Where an application relies on a WHERE clause to filter file-backed data for policy or authorization, an inverted &lt;=/&gt;= comparison silently returns the wrong rows.(CVE-2026-15043)\n\nDBI::ProfileData versions before 1.651 for Perl do not limit the path index.\n\nThe path index column of profile dump files is used to allocate an array of data for the parser. An unbounded value allows an attacker to specify a large index and consume available memory.(CVE-2026-60081)\n\nDBI versions before 1.651 for Perl do not enforce statement handle consistency with the row.\n\nWhen the statement handle had no fields but the source row was non-empty, the internal row-buffer helper would read from a negative array index.\n\nThis could be triggered by a caller supplying inconsistent metadata and rows to the prepare method.(CVE-2026-60082)","modified":"2026-07-24T03:45:15.579007572Z","published":"2026-07-24T03:31:38Z","upstream":["CVE-2026-14739","CVE-2026-15043","CVE-2026-60081","CVE-2026-60082"],"database_specific":{"severity":"Critical"},"references":[{"type":"ADVISORY","url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3183"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-14739"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-15043"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-60081"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-60082"}],"affected":[{"package":{"name":"perl-DBI","ecosystem":"openEuler:22.03-LTS-SP4","purl":"pkg:rpm/openEuler/perl-DBI&distro=openEuler-22.03-LTS-SP4"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-6.oe2203sp4"}]}],"ecosystem_specific":{"src":["perl-DBI-1.643-6.oe2203sp4.src.rpm"],"x86_64":["perl-DBI-1.643-6.oe2203sp4.x86_64.rpm","perl-DBI-debuginfo-1.643-6.oe2203sp4.x86_64.rpm","perl-DBI-debugsource-1.643-6.oe2203sp4.x86_64.rpm"],"aarch64":["perl-DBI-1.643-6.oe2203sp4.aarch64.rpm","perl-DBI-debuginfo-1.643-6.oe2203sp4.aarch64.rpm","perl-DBI-debugsource-1.643-6.oe2203sp4.aarch64.rpm"],"noarch":["perl-DBI-help-1.643-6.oe2203sp4.noarch.rpm"]},"database_specific":{"source":"https://repo.openeuler.org/security/data/osv/OESA-2026-3183.json"}},{"package":{"name":"perl-DBI","ecosystem":"openEuler:24.03-LTS-SP1","purl":"pkg:rpm/openEuler/perl-DBI&distro=openEuler-24.03-LTS-SP1"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-6.oe2403sp1"}]}],"ecosystem_specific":{"noarch":["perl-DBI-help-1.643-6.oe2403sp1.noarch.rpm"],"src":["perl-DBI-1.643-6.oe2403sp1.src.rpm"],"x86_64":["perl-DBI-1.643-6.oe2403sp1.x86_64.rpm","perl-DBI-debuginfo-1.643-6.oe2403sp1.x86_64.rpm","perl-DBI-debugsource-1.643-6.oe2403sp1.x86_64.rpm"],"aarch64":["perl-DBI-1.643-6.oe2403sp1.aarch64.rpm","perl-DBI-debuginfo-1.643-6.oe2403sp1.aarch64.rpm","perl-DBI-debugsource-1.643-6.oe2403sp1.aarch64.rpm"]},"database_specific":{"source":"https://repo.openeuler.org/security/data/osv/OESA-2026-3183.json"}},{"package":{"name":"perl-DBI","ecosystem":"openEuler:24.03-LTS-SP3","purl":"pkg:rpm/openEuler/perl-DBI&distro=openEuler-24.03-LTS-SP3"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-6.oe2403sp3"}]}],"ecosystem_specific":{"src":["perl-DBI-1.643-6.oe2403sp3.src.rpm"],"x86_64":["perl-DBI-1.643-6.oe2403sp3.x86_64.rpm","perl-DBI-debuginfo-1.643-6.oe2403sp3.x86_64.rpm","perl-DBI-debugsource-1.643-6.oe2403sp3.x86_64.rpm"],"aarch64":["perl-DBI-1.643-6.oe2403sp3.aarch64.rpm","perl-DBI-debuginfo-1.643-6.oe2403sp3.aarch64.rpm","perl-DBI-debugsource-1.643-6.oe2403sp3.aarch64.rpm"],"noarch":["perl-DBI-help-1.643-6.oe2403sp3.noarch.rpm"]},"database_specific":{"source":"https://repo.openeuler.org/security/data/osv/OESA-2026-3183.json"}},{"package":{"name":"perl-DBI","ecosystem":"openEuler:24.03-LTS-SP4","purl":"pkg:rpm/openEuler/perl-DBI&distro=openEuler-24.03-LTS-SP4"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.648-2.oe2403sp4"}]}],"ecosystem_specific":{"src":["perl-DBI-1.648-2.oe2403sp4.src.rpm"],"x86_64":["perl-DBI-1.648-2.oe2403sp4.x86_64.rpm","perl-DBI-debuginfo-1.648-2.oe2403sp4.x86_64.rpm","perl-DBI-debugsource-1.648-2.oe2403sp4.x86_64.rpm"],"aarch64":["perl-DBI-1.648-2.oe2403sp4.aarch64.rpm","perl-DBI-debuginfo-1.648-2.oe2403sp4.aarch64.rpm","perl-DBI-debugsource-1.648-2.oe2403sp4.aarch64.rpm"],"noarch":["perl-DBI-help-1.648-2.oe2403sp4.noarch.rpm"]},"database_specific":{"source":"https://repo.openeuler.org/security/data/osv/OESA-2026-3183.json"}},{"package":{"name":"perl-DBI","ecosystem":"openEuler:20.03-LTS-SP4","purl":"pkg:rpm/openEuler/perl-DBI&distro=openEuler-20.03-LTS-SP4"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.643-5.oe2003sp4"}]}],"ecosystem_specific":{"aarch64":["perl-DBI-1.643-5.oe2003sp4.aarch64.rpm","perl-DBI-debuginfo-1.643-5.oe2003sp4.aarch64.rpm","perl-DBI-debugsource-1.643-5.oe2003sp4.aarch64.rpm"],"noarch":["perl-DBI-help-1.643-5.oe2003sp4.noarch.rpm"],"src":["perl-DBI-1.643-5.oe2003sp4.src.rpm"],"x86_64":["perl-DBI-1.643-5.oe2003sp4.x86_64.rpm","perl-DBI-debuginfo-1.643-5.oe2003sp4.x86_64.rpm","perl-DBI-debugsource-1.643-5.oe2003sp4.x86_64.rpm"]},"database_specific":{"source":"https://repo.openeuler.org/security/data/osv/OESA-2026-3183.json"}}],"schema_version":"1.7.5"}