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;
Published: 2026-09-28
Score: n/a
EPSS: n/a
KEV: No
Impact: Denial of Service via segmentation fault
Action: Upgrade
AI Analysis

Impact

DBI modules earlier than version 1.654 incorrectly interpret numeric values assigned to the FetchHashKeyName attribute. When fetchrow_hashref is called, the code uses the numeric value’s memory pointer directly as a string key name, which results in an invalid pointer dereference and a segmentation fault. The vulnerability leads to an application crash and potential denial of service, but does not allow arbitrary code execution or disclosure of data. The weakness is a type confusion and improper type handling identified as CWE-843.

Affected Systems

The vulnerability affects the Perl DBI module, specifically all releases prior to 1.654. Users running DBI 1.653 or earlier are impacted regardless of the database driver used, as long as the module is loaded within a Perl application. No other vendors or platforms are listed.

Risk and Exploitability

The official CVSS score is not provided, and the EPSS value is unavailable, indicating limited publicly known exploitation data. Because the crash occurs when the application calls fetchrow_hashref with a numeric FetchHashKeyName, the threat is primarily local to the environment running the affected Perl code. Adversaries could trigger the bug by supplying input that causes the attribute to be set to a numeric value, or by modifying the application code. The lack of a KEV listing and the absence of a remote exploitation path reduce the immediate risk, though the possibility of a denial of service remains significant.

Generated by OpenCVE AI on September 28, 2026 at 18:05 UTC.

Remediation

Vendor Solution

Upgrade to DBI 1.654 or later.


OpenCVE Recommended Actions

  • Upgrade the Perl DBI module to version 1.654 or later.
  • Audit Perl applications for numeric assignments to $dbh->{FetchHashKeyName} and refactor them to use string values or remove the assignment entirely.
  • Deploy the updated module, restart affected services, and monitor application logs for segmentation faults to verify stability.

Generated by OpenCVE AI on September 28, 2026 at 18:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 28 Sep 2026 18:00:00 +0000

Type Values Removed Values Added
First Time appeared Perl
Perl dbi
Vendors & Products Perl
Perl dbi

Mon, 28 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
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;
Title DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName
Weaknesses CWE-843
References

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-09-28T18:10:35.512Z

Reserved: 2026-09-10T08:47:49.901Z

Link: CVE-2026-88816

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-28T17:17:52.203

Modified: 2026-09-28T17:17:52.203

Link: CVE-2026-88816

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-28T18:15:04Z

Weaknesses
  • CWE-843

    Access of Resource Using Incompatible Type ('Type Confusion')