DBI versions before 1.656 for Perl hang on a later open of a DBD::DBM table because a failed open_data does not release the table's lock. open_data creates the table's lock file and takes an exclusive flock on it for a CREATE, before the checks that can croak: a dbm_mldbm value t...
Product
cpan DBI vulnerabilities
8 published CVES affecting cpan DBI, from public sources (CVE.org, NVD, CISA KEV, FIRST EPSS, OSV).
- Total
- 8
- Critical
- 3
- High
- 2
- Medium
- 2
- Low
- 1
- Unscored
- 0
- CISA KEV
- 0
Latest cpan DBI CVEs
Newest publication first
-
MediumCVSS 6.5 EPSS 0.33%
-
LowCVSS 2.9 EPSS 0.25%
DBI versions before 1.656 for Perl crash via type confusion in dbi_profile when a database handle is destroyed under a Profile Path with an {attr} element. An {attr} element names a database handle attribute, which dbi_profile reads from the handle's inner hash. It expects the in...
-
HighCVSS 7.5 EPSS 0.39%
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 f...
-
MediumCVSS 6.2 EPSS 0.20%
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...
-
CriticalCVSS 9.8 EPSS 0.42%
DBI versions before 1.653 for Perl load arbitrary modules via unvalidated dbm_type and dbm_mldbm attributes in DBD::DBM. DBD::DBM passes the dbm_type and dbm_mldbm connect attributes to require without checking that the value names a module. require treats a path-shaped string as...
-
CriticalCVSS 9.1 EPSS 0.49%
DBI versions before 1.652 for Perl allow a heap out-of-bounds write via an unvalidated numeric placeholder that sets the binder counter in preparse. preparse reserves seven output bytes per input byte, the width of the longest ':p99999' expansion. The ':N' branch parses the numbe...
-
CriticalCVSS 9.8 EPSS 0.48%
DBI versions before 1.652 for Perl allow a heap out-of-bounds write on 32-bit perl via an integer wraparound in the output buffer size computed by preparse. preparse reserves its output buffer with newSV(strlen(statement) * 7 + 16), budgeting seven output bytes per input byte for...
-
HighCVSS 8.8 EPSS 0.50%
DBI versions before 1.650 for Perl are vulnerable to code injection via caller-influenced Profile. When a string is assigned to a DBI handle's Profile attribute, DBI splits it into path, package and arguments, and interpolates the package part in a string eval with no validation...
Sources: CVE.org, NVD, CISA KEV, FIRST EPSS, OSV and public exploit-reference metadata. Product matching comes from the published CVE records. A proof-of-concept means public code exists; it is not evidence of exploitation.