p PatchFirst

PatchFirst · Свежие уязвимости

Уязвимости libdbi-perl

За последние 30 дней в libdbi-perl опубликовано уязвимостей: 4; в каталоге KEV: 0.

Фильтры уязвимостей
Сбросить фильтры

Уязвимостей: 24

  1. CVE-2026-111879

    Без оценкиEPSS 0,18%Нет опубликованного исправления

    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

    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 that is not a module name, a failing tie, or a missing data file. The croak unwinds before the table object is blessed, so nothing releases the lock, and the meta data holding the open descriptor stays cached on the database handle. The dbm_mldbm and dbm_type values come from the DSN or the connect attributes, so a caller that chooses the serializer or the storage ba

    Опубликовано Обновлено
  2. CVE-2026-108518

    Без оценкиEPSS 0,27%Нет опубликованного исправления

    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

    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 inner handle as a reference and dereferences it, but a handle that is being destroyed hands back the inner hash itself, so the dereference yields the hash's bucket array. A type check on that pointer usually fails and the call goes unprofiled. When the memory it addresses passes the check, the attribute lookup dereferences a NULL or invalid pointer and the process dies

    Опубликовано Обновлено
  3. CVE-2026-88816

    Высокий · CVSS 7.5EPSS 0,39%Нет опубликованного исправления

    DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in FetchHashKeyName

    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;

    Опубликовано Обновлено
  4. CVE-2026-88815

    Средний · CVSS 6.2EPSS 0,2%Нет опубликованного исправления

    DBI versions before 1.654 for Perl incorrectly treat numeric values as strings in sql_type_cast_svpv

    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 );

    Опубликовано Обновлено
  5. CVE-2026-78030

    Критический · CVSS 9.8EPSS 0,42%Нет опубликованного исправления

    DBI versions before 1.653 for Perl load arbitrary modules via unvalidated dbm_type and dbm_mldbm attributes in DBD::DBM

    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 a literal filename and does not consult @INC, so the attribute chooses the file that Perl loads and runs. The MLDBM::Serializer:: prefix that DBD::DBM prepends to dbm_mldbm is not a boundary: only the :: separators are rewritten to /, so a value containing / traverses out of the serializer directory. The value is also assigned to $MLDBM::Serializer, which MLDBM req

    Опубликовано Обновлено
  6. CVE-2026-73194

    Критический · CVSS 9.1EPSS 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

    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 number with `atoi(src)` and assigns it to the binder counter with no range check, so a statement containing ':2147483648' leaves the counter negative (-2147483648 with glibc, where atoi wraps). Each following '?' then expands through `sprintf(start, ":p%d", idx++)` to ':p-2147483648', 14 bytes with the terminating NUL where the buffer budgets 7. The placeholder limit adde

    • Обновитесь до 1.652-2~deb13u1
    Опубликовано Обновлено
  7. CVE-2026-73193

    Критический · CVSS 9.8EPSS 0,65%Есть исправление

    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

    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 the longest ':p99999' expansion. The product is computed in STRLEN, which is 32 bits wide on a 32-bit perl build, so a statement of 613,566,757 bytes multiplies to 4,294,967,299, wraps modulo 2^32 to 3, and reserves 19 bytes. The parser then copies the statement out through a raw pointer with no capacity check, writing the whole 585 MB input past the end of the al

    • Обновитесь до 1.652-2~deb13u1
    Опубликовано Обновлено
  8. CVE-2026-60082

    Критический · CVSS 9.1EPSS 0,65%Есть исправление

    DBI versions before 1.651 for Perl do not enforce statement handle consistency with the row

    DBI versions before 1.651 for Perl do not enforce statement handle consistency with the row. When the statement handle had no fields but the source row was non-empty, the internal row-buffer helper would read from a negative array index. This could be triggered by a caller supplying inconsistent metadata and rows to the prepare method.

    • Обновитесь до 1.652-2~deb13u1
  9. CVE-2026-60081

    Высокий · CVSS 7.5EPSS 0,63%Есть исправление

    DBI::ProfileData versions before 1.651 for Perl do not limit the path index

    DBI::ProfileData versions before 1.651 for Perl do not limit the path index. The path index column of profile dump files is used to allocate an array of data for the parser. An unbounded value allows an attacker to specify a large index and consume available memory.

    • Обновитесь до 1.652-2~deb13u1
  10. CVE-2026-15392

    Высокий · CVSS 7.7EPSS 0,2%Есть исправление

    DBD::File versions before 1.651 for Perl do not ensure the table file is not a symlink to an untrusted location

    DBD::File versions before 1.651 for Perl do not ensure the table file is not a symlink to an untrusted location. The complete_table_name method builds the absolute table file path without checking whether the file is a symbolic link. A link inside the data directory can point to a table file at any path outside of the configured f_dir and f_dir_search directories. Callers of file-based drivers can read or write files outside of the data directory.

    • Обновитесь до 1.652-2~deb13u1
  11. CVE-2026-15043

    Критический · CVSS 9.8EPSS 0,67%Есть исправление

    DBI::SQL::Nano versions from 1.42 before 1.651 for Perl have inverted <= and >= SQL operators on text

    DBI::SQL::Nano versions from 1.42 before 1.651 for Perl have inverted <= and >= SQL operators on text. DBI::SQL::Nano, DBI's built-in mini-SQL engine, evaluated WHERE predicates incorrectly in some cases. In the non-numeric string branch of the is_matched method, <= was evaluated using Perl's ge operator, and >= was evaluated using Perl's le operator. SQL::Nano is the fallback query engine for DBI's file-backed drivers (DBD::File, DBD::DBM, CSV-style drivers) whenever SQL::Statement is not installed, and is forced whenever DBI_SQL_NANO=1. Queries over such tables use these predicates directly. The impact depends on the context. Where an ap

    • Обновитесь до 1.652-2~deb13u1
  12. CVE-2026-14740

    Критический · CVSS 9.1EPSS 0,66%Есть исправление

    DBI versions before 1.650 for Perl read one byte out-of-bounds in preparse when deleting an initial SQL comment

    DBI versions before 1.650 for Perl read one byte out-of-bounds in preparse when deleting an initial SQL comment. The preparse method normalises SQL and removes comments. When the SQL starts with a comment line, the deletion of that line during normalisation led to an out-of-bounds read by one byte. The result is a fault on memory-hardened builds and nondeterministic newline retention on normal builds.

    • Обновитесь до 1.652-2~deb13u1
  13. CVE-2026-14739

    Критический · CVSS 9.8EPSS 0,41%Есть исправление

    DBI versions before 1.650 for Perl have a heap overflow when preparsing SQL statements with an extreme number of placeholders

    DBI versions before 1.650 for Perl have a heap overflow when preparsing SQL statements with an extreme number of placeholders. The fix for CVE-2026-10879 did not allocate enough memory to handle approximately 1.2-million placeholders. DBI version 1.650 sets a hard limit of 99,999 placeholders.

    • Обновитесь до 1.652-2~deb13u1
  14. CVE-2026-14380

    Высокий · CVSS 8.8EPSS 0,5%Есть исправление

    DBI versions before 1.650 for Perl are vulnerable to code injection via caller-influenced Profile

    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 of the package name. Any caller-influenced value that reaches the Profile attribute is therefore arbitrary Perl code execution, including calls to run system commands. The Profile attribute can be set from three different sources that can carry untrusted data: the DBI_PROFILE environment variable, a direct attribute assignment, and a DSN driver-attribute clause dbi

    • Обновитесь до 1.652-2~deb13u1
  15. CVE-2026-9698

    Высокий · CVSS 7.5EPSS 0,46%Есть исправление

    DBI versions before 1.648 for Perl saved errors in a limited-sized buffer

    DBI versions before 1.648 for Perl saved errors in a limited-sized buffer. Error messages that were returned when RaiseError, PrintError or HandleError were set were written to a 200-byte buffer without a length limit. Attackers that can influence the error text in an application can trigger a buffer overflow.

    • Обновитесь до 1.647-1+deb13u1
    Опубликовано Обновлено
  16. CVE-2026-10879

    Критический · CVSS 9.8EPSS 0,48%Есть исправление

    DBI versions before 1.648 for Perl have a heap overflow when preparsing SQL statements with more than 9 binders

    DBI versions before 1.648 for Perl have a heap overflow when preparsing SQL statements with more than 9 binders. The preparse method expands SQL placeholder characters to numbered binders of the form :pN, but only allocates three characters per binder in the buffer. Placeholders 10-99 require four characters, 100-999 require five characters, et cetera.

    • Обновитесь до 1.647-1+deb13u1
  17. CVE-2019-20919

    Средний · CVSS 4.7EPSS 0,49%Есть исправление

    CVE-2019-20919

    An issue was discovered in the DBI module before 1.643 for Perl. The hv_fetch() documentation requires checking for NULL and the code does that. But, shortly thereafter, it calls SvOK(profile), causing a NULL pointer dereference.

    • Обновитесь до 1.643-1
    Опубликовано Обновлено
  18. CVE-2014-10402

    Средний · CVSS 6.1EPSS 0,49%Есть исправление

    CVE-2014-10402

    An issue was discovered in the DBI module through 1.643 for Perl. DBD::File drivers can open files from folders other than those specifically passed via the f_dir attribute in the data source name (DSN). NOTE: this issue exists because of an incomplete fix for CVE-2014-10401.

    • Обновитесь до 1.643-3
    Опубликовано Обновлено
  19. CVE-2020-14393

    Высокий · CVSS 7.1EPSS 0,61%Есть исправление

    CVE-2020-14393

    A buffer overflow was found in perl-DBI < 1.643 in DBI.xs. A local attacker who is able to supply a string longer than 300 characters could cause an out-of-bounds write, affecting the availability of the service or integrity of data.

    • Обновитесь до 1.643-1
    Опубликовано Обновлено
  20. CVE-2020-14392

    Средний · CVSS 5.5EPSS 0,55%Есть исправление

    CVE-2020-14392

    An untrusted pointer dereference flaw was found in Perl-DBI < 1.643. A local attacker who is able to manipulate calls to dbd_db_login6_sv() could cause memory corruption, affecting the service's availability.

    • Обновитесь до 1.643-1
    Опубликовано Обновлено

Проверьте свой сервер

Сопоставьте установленный стек и версии со свежими базами уязвимостей.

Проверьте свой сервер →