CVE-2026-88816
DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in…
- Risk score
- 60/100
- CVSS
- 7.5 v3.1
- Exploit chance (30 days)
- 0.6%
- Published
- 28 Sep 2026
Open in the live forecast Today's forecast
What to know
- What it is
- 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 …
- Affected
- See advisory
- Fix
- Upgrade the product to 1.654 or later.
- Exploitation
- No known exploitation
Why it is Yellow
- CVSS 7.5 high
- Remotely exploitable without logging in
References
- 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
Original 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;
Last activity 28 Sep 2026. Patch Forecast updates every hour.