CVE-2026-88816
DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName.
Impact
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;
Affected products
| Product | Affected versions |
|---|---|
| DBI | before 1.654 |
Versions were read from the advisory text. No structured product data has been published for this record yet.
Weakness classification
References
- NVD record
- CVE.org record
- https://github.com/perl5-dbi/dbi/commit/70962570212dc60a5428098cf2a0462ad5945851.patch
- https://github.com/perl5-dbi/dbi/security/advisories/GHSA-f4qx-mr9m-q2hq
- https://metacpan.org/release/HMBRAND/DBI-1.654/changes
- http://www.openwall.com/lists/oss-security/2026/09/28/13
- https://github.com/perl5-dbi/dbi/security/advisories/GHSA-f4qx-mr9m-q2hq