{"id":"CVE-2026-78030","summary":"DBI versions before 1.653 for Perl load arbitrary modules via unvalidated dbm_type and dbm_mldbm attributes in DBD::DBM","details":"DBI versions before 1.653 for Perl load arbitrary modules via unvalidated dbm_type and dbm_mldbm attributes in DBD::DBM.\n\nDBD::DBM passes the dbm_type and dbm_mldbm connect attributes to require without checking that the value names a module. require treats a path-shaped string as a literal filename and does not consult @INC, so the attribute chooses the file that Perl loads and runs.\n\nThe MLDBM::Serializer:: prefix that DBD::DBM prepends to dbm_mldbm is not a boundary: only the :: separators are rewritten to /, so a value containing / traverses out of the serializer directory. The value is also assigned to $MLDBM::Serializer, which MLDBM requires the same way when it ties the table.\n\nA caller that lets an untrusted party influence either attribute, for example through a DSN fragment or a parameter that selects a storage backend, runs the file-scope code of whatever module the value names.\n\nFor example,\n\n    my $dsn = \"dbi:DBM:f_dir=/var/db;dbm_type=../../Untrusted.pm\"\n    my $dbh = DBI-\u003econnect( $dsn );\n\nNote that DBD::Gofer forwards connect attributes to the server side, and DBI::ProxyServer checks only that a DSN starts with a driver prefix.","aliases":["GHSA-wqmw-wqwx-3fr7"],"modified":"2026-09-21T03:45:14.018093342Z","published":"2026-09-19T10:45:10.164Z","related":["openSUSE-SU-2026:11754-1"],"database_specific":{"cwe_ids":["CWE-470"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/78xxx/CVE-2026-78030.json","cna_assigner":"CPANSec"},"references":[{"type":"WEB","url":"http://www.openwall.com/lists/oss-security/2026/09/19/4"},{"type":"WEB","url":"https://cpan.org/modules"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/78xxx/CVE-2026-78030.json"},{"type":"ADVISORY","url":"https://github.com/perl5-dbi/dbi/security/advisories/GHSA-wqmw-wqwx-3fr7"},{"type":"ADVISORY","url":"https://metacpan.org/release/HMBRAND/DBI-1.653/changes"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-78030"},{"type":"FIX","url":"https://github.com/perl5-dbi/dbi/commit/315c6ce703b8b3cbe9188062d9ec80730293554a.patch"},{"type":"PACKAGE","url":"https://github.com/perl5-dbi/dbi"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/perl5-dbi/dbi","events":[{"introduced":"0"},{"fixed":"44eb076aff904ba1eca8ca9ff4f3545ebea2f054"},{"fixed":"315c6ce703b8b3cbe9188062d9ec80730293554a"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"1.653"}],"source":["DESCRIPTION","REFERENCES"]}}],"versions":["1.652","1.651","1.650","1.649","1.648","1.647","1.646","1.645","1.644","1.643_02","1.643_01","1.643","1.642","1.641","1.640","1.639","1.638","1.637","1.636","1.635","1.634","1.633_92","1.633_91","1.633_90","1.633","1.632_90","1.632","1.631","1.630","1.628","1.627","1.626","1.625","1.624","1.622","1.619","1.618","1.615","1.614_90","1.613_93","1.613_92","1.613_91","1.613_90","1.613_71","1.613_70","1.611_94","1.611_93","1.611_92","1.611_91","1.611_90","1.607","1.602","DBI-1.58","DBI-1.57","DBI-1.51","DBI-1.47"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-78030.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}