Description
DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in sql_type_cast_svpv.

When casting to SQL_NUMERIC, sql_type_cast_svpv passes the string pointer and length of the SV to grok_number without stringifying it first. An integer (IV) or floating-point (NV) value has no valid string pointer, so grok_number reads from an invalid address, triggering a segmentation fault.

This is reachable in Perl using the sql_type_cast function:

my $num = 42;
DBI::sql_type_cast( $num, DBI::SQL_NUMERIC, 0 );
Published: 2026-09-28
Score: 6.2 Medium
EPSS: < 1% Very Low
KEV: No
AI Analysis

Analysis and contextual insights are available on OpenCVE Cloud.

Remediation

Vendor Solution

Upgrade to DBI 1.654 or later.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4798-1 libdbi-perl security update
History

Wed, 30 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

cvssV3_1

{'score': 6.2, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Important


Mon, 28 Sep 2026 20:15:00 +0000

Type Values Removed Values Added
First Time appeared Perl5-dbi
Perl5-dbi dbi
Vendors & Products Perl5-dbi
Perl5-dbi dbi

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

Type Values Removed Values Added
References

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 sql_type_cast_svpv. When casting to SQL_NUMERIC, sql_type_cast_svpv passes the string pointer and length of the SV to grok_number without stringifying it first. An integer (IV) or floating-point (NV) value has no valid string pointer, so grok_number reads from an invalid address, triggering a segmentation fault. This is reachable in Perl using the sql_type_cast function: my $num = 42; DBI::sql_type_cast( $num, DBI::SQL_NUMERIC, 0 );
Title DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in sql_type_cast_svpv
Weaknesses CWE-843
References

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-09-30T19:52:38.366Z

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

Link: CVE-2026-88815

cve-icon Vulnrichment

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

cve-icon NVD

Status : Deferred

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

Modified: 2026-09-30T20:17:35.380

Link: CVE-2026-88815

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-28T16:04:22Z

Links: CVE-2026-88815 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-30T05:00:13Z

Weaknesses
  • CWE-843

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