CVE-2026-108518
Received Received - Intake

Type Confusion in Perl DBI via Profile Path

Vulnerability report for CVE-2026-108518, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-20

Last updated on: 2026-10-30

Assigner: CPANSec

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-20
Last Modified
2026-10-30
Generated
2026-11-10
AI Q&A
2026-10-21
EPSS Evaluated
2026-11-08
NVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
dbi dbi to 1.656 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-843 The product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects Perl's DBI library versions before 1.656. It occurs due to type confusion in the dbi_profile function when a database handle is destroyed while a Profile Path with an {attr} element is active. The {attr} element refers to a database handle attribute, which dbi_profile reads from the handle's inner hash. Normally, it expects a reference to the inner handle, but during destruction, the handle returns its inner hash directly. This can lead to dereferencing a NULL or invalid pointer, causing a segmentation fault (SIGSEGV) and crashing the program.

Detection Guidance

This vulnerability is specific to Perl DBI versions before 1.656 and involves a type confusion issue in dbi_profile. Detection requires checking the installed Perl DBI version using commands like 'perl -MDBI -e "print $DBI::VERSION"' and verifying if it is below 1.656.

Impact Analysis

This vulnerability can cause unexpected crashes in Perl applications using DBI versions before 1.656. If an application uses a Profile Path with an {attr} element, setting the DBI_PROFILE environment variable to {ImplementorClass} or similar values could trigger the crash. This may lead to denial-of-service conditions, data loss, or application instability.

Compliance Impact

This vulnerability does not directly affect compliance with GDPR, HIPAA, or similar standards as it is a technical crash in Perl's DBI library due to type confusion. Compliance impacts would only occur if the crash leads to data corruption, unauthorized access, or denial of service in systems handling regulated data.

Mitigation Strategies

Immediate mitigation involves upgrading Perl DBI to version 1.656 or later. Use the command 'cpan DBI' or 'cpanm DBI' to update. Additionally, review applications using DBI_PROFILE environment variables to ensure they do not set {attr} elements that could trigger the issue.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-108518. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...