CVE-2026-108518
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
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.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
2.9
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
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.
- Record
CVE-2026-108518- CVSS 3.1
- 2.9 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-843
- Updated
- 2026-11-02
EUVDEUVD-2026-106230
2.9
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.
- Record
EUVD-2026-106230- CVSS 3.1
- 2.9 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
NVD
2.9
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.
- Record
CVE-2026-108518- CVSS 3.1
- 2.9 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-843
- Updated
- 2026-11-02
OSVBELL-CVE-2026-108518
2.9
- Record
BELL-CVE-2026-108518- CVSS 3.1
- 2.9 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSV
2.9
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
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.
- Record
CVE-2026-108518- CVSS 3.1
- 2.9 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-843
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-108518
2.9
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.
- Record
DEBIAN-CVE-2026-108518- CVSS 3.1
- 2.9 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
Show 8 moreShow less
OSVOESA-2026-4597
4.7
perl-DBI security update
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)
- Record
OESA-2026-4597- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVOESA-2026-4598
4.7
perl-DBI security update
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)
- Record
OESA-2026-4598- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVOESA-2026-4599
4.7
perl-DBI security update
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)
- Record
OESA-2026-4599- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVOESA-2026-4600
4.7
perl-DBI security update
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)
- Record
OESA-2026-4600- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-108518
2.9
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.
- Record
UBUNTU-CVE-2026-108518- CVSS 3.1
- 2.9 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-03
OSVAZL-110058 No score
CVE-2026-108518 affecting package perl-DBI for versions less than 1.656-1
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.
- Record
AZL-110058- Updated
- 2026-11-02
OSVMGASA-2026-0551 No score
Updated perl-DBI package fixes security vulnerabilities
dbi_profile(): crash (type confusion) when a database handle is destroyed while its Profile Path contains {attr} elements. (CVE-2026-108518) Failed DBD::DBM file creation left lock files in place. (CVE-2026-111879)
- Record
MGASA-2026-0551- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12201-1 No score
perl-DBI-1.656.0-1.1 on GA media
These are all security issues fixed in the perl-DBI-1.656.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12201-1- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
perl-DBIAzure Linux:3 |
before 1.656-1 | 1.656-1 |
perl-dbiAlpaquita:23 |
1.643-r4 and later | None known |
perl-dbiAlpaquita:25 |
1.647-r0 and later | None known |
perl-dbiAlpaquita:stream |
1.643-r3 up to 1.656-r0 | 1.656-r0 |
libdbi-perlDebian:12 |
All versions, plus listed versions 1.643-41.643-4+deb12u11.643-4+deb12u21.643-4+deb12u31.644-1 Show 13 moreShow less1.645-11.647-11.648-11.649-11.650-11.651-11.652-11.652-21.652-2~deb13u11.653-11.654-11.655-11.656-1 |
None known |
libdbi-perlDebian:13 |
All versions, plus listed versions 1.647-11.647-1+deb13u11.648-11.649-11.650-1 Show 8 moreShow less1.651-11.652-11.652-21.652-2~deb13u11.653-11.654-11.655-11.656-1 |
None known |
libdbi-perlDebian:14 |
before 1.656-1, plus listed versions 1.647-11.648-11.649-11.650-11.651-1 Show 6 moreShow less1.652-11.652-21.652-2~deb13u11.653-11.654-11.655-1 |
1.656-1 |
perl-DBIMageia:10 From an advisory covering 2 CVEs |
before 1.656.0-1.mga10 | 1.656.0-1.mga10 |
perl-DBIopenEuler:24.03-LTS-SP1 |
before 1.643-13.oe2403sp1 | 1.643-13.oe2403sp1 |
perl-DBIopenEuler:24.03-LTS-SP3 |
before 1.643-13.oe2403sp3 | 1.643-13.oe2403sp3 |
Show 11 moreShow less
| Package | Affected | Fixed |
|---|---|---|
perl-DBIopenEuler:24.03-LTS-SP4 |
before 1.648-9.oe2403sp4 | 1.648-9.oe2403sp4 |
perl-DBIopenEuler:22.03-LTS-SP4 |
before 1.643-13.oe2203sp4 | 1.643-13.oe2203sp4 |
libdbi-perlUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 1.627-11.628-11.630-11.630-1ubuntu0.1~esm11.630-1ubuntu0.1~esm4 Show 4 moreShow less1.630-1ubuntu0.1~esm51.630-1ubuntu0.1~esm61.630-1ubuntu0.1~esm81.630-1ubuntu0.1~esm9 |
None known |
libdbi-perlUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.633-11.634-11.634-1build11.634-1ubuntu0.11.634-1ubuntu0.2 Show 4 moreShow less1.634-1ubuntu0.2+esm11.634-1ubuntu0.2+esm21.634-1ubuntu0.2+esm41.634-1ubuntu0.2+esm5 |
None known |
libdbi-perlUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.637-11.639-11.640-11.640-1ubuntu0.11.640-1ubuntu0.2 Show 4 moreShow less1.640-1ubuntu0.31.640-1ubuntu0.3+esm11.640-1ubuntu0.3+esm31.640-1ubuntu0.3+esm4 |
None known |
libdbi-perlUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.642-11.642-1build11.643-11.643-1ubuntu0.11.643-1ubuntu0.1+esm11.643-1ubuntu0.1+esm31.643-1ubuntu0.1+esm4 |
None known |
libdbi-perlUbuntu:22.04:LTS |
All versions, plus listed versions 1.643-3build21.643-3build31.643-3ubuntu0.11.643-3ubuntu0.31.643-3ubuntu0.4 |
None known |
libdbi-perlUbuntu:24.04:LTS |
All versions, plus listed versions 1.643-41.643-4build11.643-4build21.643-4build31.643-4ubuntu0.11.643-4ubuntu0.31.643-4ubuntu0.4 |
None known |
libdbi-perlUbuntu:26.10 |
All versions, plus listed versions 1.647-1build11.648-11.651-11.652-2 |
None known |
libdbi-perlUbuntu:26.04:LTS |
All versions, plus listed versions 1.647-11.647-1build11.647-1ubuntu0.26.04.11.647-1ubuntu0.26.04.31.647-1ubuntu0.26.04.4 |
None known |
perl-DBIopenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 1.656.0-1.1 | 1.656.0-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-108518 is a low vulnerability (CVSS 2.9) in perl-DBI, published October 20, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.25%, the 17th percentile. Fixed in perl-DBI 1.656-1.
References
github.com/perl5-dbi/dbi/security/advisories/GHSA-7393-6f8r-fhh3
github.com/perl5-dbi/dbi/commit/c2ff4df575d7af625bb4d0d1ef7539f90b22d8b2.patch
metacpan.org/release/HMBRAND/DBI-1.656/changes
openwall.com/lists/oss-security/2026/10/20/37
nvd.nist.gov/vuln/detail/CVE-2026-108518
docs.bell-sw.com/security/cves/CVE-2026-108518
Show 17 moreShow less
cpan.org/modules
github.com/CVEProject/cvelistV5/tree/main/cves/2026/108xxx/CVE-2026-108518.json
github.com/perl5-dbi/dbi
security-tracker.debian.org/tracker/CVE-2026-108518
advisories.mageia.org/MGASA-2026-0551.html
bugs.mageia.org/show_bug.cgi?id=36556
openwall.com/lists/oss-security/2026/10/20/38
github.com/perl5-dbi/dbi/security/advisories/GHSA-8cx8-9vj9-9x7j
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-4597
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-4598
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-4599
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-4600
ubuntu.com/security/CVE-2026-108518
cve.org/CVERecord?id=CVE-2026-108518
lists.security.metacpan.org/cve-announce/msg/44513047
suse.com/security/cve/CVE-2026-108518
suse.com/security/cve/CVE-2026-111879