Bug 2542966

Summary: CVE-2026-88816 perl-DBI: perl-DBI: Denial of Service via numeric FetchHashKeyName attribute [fedora-all]
Product: [Fedora] Fedora Reporter: Vladimir Vasilev <vvasilev>
Component: perl-DBIAssignee: Jitka Plesnikova <jplesnik>
Status: ON_QA --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: jplesnik, mspacek, perl-devel, rhughes, rstrode
Target Milestone: ---Keywords: Security, SecurityTracking
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: {"flaws": ["245b53b3-bf28-41f4-a33a-2cc84423bc98"]}
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2542560    

Description Vladimir Vasilev 2026-09-29 06:44:23 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

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;

Comment 1 Fedora Update System 2026-09-29 09:03:22 UTC
FEDORA-2026-2e78b6b58e (perl-DBI-1.654-1.fc45) has been submitted as an update to Fedora 45.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-2e78b6b58e

Comment 2 Fedora Update System 2026-09-29 09:03:30 UTC
FEDORA-2026-dc85e47244 (perl-DBI-1.654-1.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-dc85e47244

Comment 3 Fedora Update System 2026-09-29 09:03:36 UTC
FEDORA-2026-e39b376e66 (perl-DBI-1.654-1.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-e39b376e66

Comment 4 Fedora Update System 2026-09-30 01:53:06 UTC
FEDORA-2026-2e78b6b58e has been pushed to the Fedora 45 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-2e78b6b58e`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-2e78b6b58e

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 5 Fedora Update System 2026-09-30 02:13:24 UTC
FEDORA-2026-dc85e47244 has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-dc85e47244`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-dc85e47244

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2026-09-30 02:26:08 UTC
FEDORA-2026-e39b376e66 has been pushed to the Fedora 44 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-e39b376e66`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-e39b376e66

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.