CVE-2026-88816
Received Received - Intake

Segmentation Fault in Perl DBI Due to Invalid FetchHashKeyName Handling

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

Publication date: 2026-09-28

Last updated on: 2026-09-28

Assigner: CPANSec

Description

DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName. fetchrow_hashref uses the string pointer of the FetchHashKeyName attribute as the key name without stringifying it first. When FetchHashKeyName has been set to an integer (IV) or floating-point (NV) value, that pointer is invalid, so reading the key name triggers a segmentation fault. This can be triggered with the following code: my $dbh = DBI->connect( "dbi:ExampleP:", "", "", { RaiseError => 0, PrintError => 0 } ); $dbh->{FetchHashKeyName} = 42; my $sth = $dbh->prepare("select mode, size, name from ."); $sth->execute; $sth->fetchrow_hashref;

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-28
Last Modified
2026-09-28
Generated
2026-09-28
AI Q&A
2026-09-28
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
perl dbi to 1.654 (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

CVE-2026-88816 is a vulnerability in Perl's DBI module versions before 1.654. It occurs when the FetchHashKeyName attribute is set to a numeric value like 42. The DBI module incorrectly treats this numeric value as a string pointer, leading to invalid memory access. When fetchrow_hashref is called, it attempts to read the key name from an invalid pointer, causing a segmentation fault.

Detection Guidance

Check Perl DBI module version with: perl -MDBI -e 'print $DBI::VERSION'. If version is below 1.654, the system is vulnerable. Inspect Perl scripts using DBI for FetchHashKeyName assignments with numeric values like 42.

Impact Analysis

This vulnerability can cause applications using Perl DBI to crash unexpectedly when FetchHashKeyName is set to a numeric value. It may lead to denial-of-service conditions, application instability, or potential data corruption if the crash occurs during critical operations. The issue affects any Perl script using DBI with FetchHashKeyName set to non-string values.

Compliance Impact

This vulnerability causes segmentation faults due to improper handling of numeric values in the FetchHashKeyName attribute. It does not directly impact compliance with GDPR, HIPAA, or similar standards as it primarily affects system stability and availability rather than data confidentiality or integrity.

Mitigation Strategies

Upgrade DBI to version 1.654 or later. Review Perl scripts for FetchHashKeyName usage and ensure it is always set to a string value. Remove any numeric assignments to FetchHashKeyName in code.

Chat Assistant

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

EPSS Chart