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 );
CVSS Details
- CVSS 3.1 Base Score: 6.2
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade perl-DBI | Oct 11, 2026 | Oct 6, 2026 |
| Debian | — | Upgrade libdbi-perl | Sep 30, 2026 | Sep 28, 2026 |
| Oracle_linux | — | Upgrade perl-DBI | Oct 22, 2026 | Sep 28, 2026 |
| Redhat_linux | — | Upgrade perl-DBI-debugsourceNo solution existsUpgrade perl-DBI-debuginfoUpgrade perl-DBI | Sep 30, 2026 | Sep 28, 2026 |
| Rocky_linux | — | Upgrade perl-DBIUpgrade perl-DBI-debuginfoUpgrade perl-DBI-debugsource | Oct 15, 2026 | Oct 8, 2026 |
Prioritize with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub