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 "glue" 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.
Security Fix(es):
DBI versions before 1.656 for Perl crash via type confusion in dbi_profile when a database handle is destroyed under a Profile Path with an {attr} element.
An {attr} element names a database handle attribute, which dbi_profile reads from the handle's inner hash. It expects the inner handle as a reference and dereferences it, but a handle that is being destroyed hands back the inner hash itself, so the dereference yields the hash's bucket array. A type check on that pointer usually fails and the call goes unprofiled. When the memory it addresses passes the check, the attribute lookup dereferences a NULL or invalid pointer and the process dies on SIGSEGV.
The Path is set by the application, by the Profile handle attribute, or by the DBI_PROFILE environment variable, so DBI_PROFILE={ImplementorClass} can crash an unmodified program.(CVE-2026-108518)
{
"severity": "Medium"
}{
"aarch64": [
"perl-DBI-1.643-13.oe2403sp3.aarch64.rpm",
"perl-DBI-debuginfo-1.643-13.oe2403sp3.aarch64.rpm",
"perl-DBI-debugsource-1.643-13.oe2403sp3.aarch64.rpm"
],
"noarch": [
"perl-DBI-help-1.643-13.oe2403sp3.noarch.rpm"
],
"src": [
"perl-DBI-1.643-13.oe2403sp3.src.rpm"
],
"x86_64": [
"perl-DBI-1.643-13.oe2403sp3.x86_64.rpm",
"perl-DBI-debuginfo-1.643-13.oe2403sp3.x86_64.rpm",
"perl-DBI-debugsource-1.643-13.oe2403sp3.x86_64.rpm"
]
}