Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

suse-cvrf логотип

SUSE-SU-2026:4612-1

Опубликовано: 09 окт. 2026
Источник: suse-cvrf

Описание

Security update for perl-DBI

This update for perl-DBI fixes the following issues:

  • CVE-2026-78030: arbitrary modules loaded due to unvalidated dbm_type and dbm_mldbm attributes in DBD::DBM (bsc#1281704).
  • CVE-2026-88815: numeric value incorrectly treated as strings in sql_type_cast_svpv allows for process crash (bsc#1283055).
  • CVE-2026-88816: numeric value incorrectly treated as strings in FetchHashKeyName allows for process crash (bsc#1283056).

Список пакетов

SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS
perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS
perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS
perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS
perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise Server 15 SP4-LTSS
perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise Server 15 SP5-LTSS
perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise Server for SAP Applications 15 SP4
perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise Server for SAP Applications 15 SP5
perl-DBI-1.642-150200.3.26.1

Описание

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 requires the same way when it ties the table. A caller that lets an untrusted party influence either attribute, for example through a DSN fragment or a parameter that selects a storage backend, runs the file-scope code of whatever module the value names. For example, my $dsn = "dbi:DBM:f_dir=/var/db;dbm_type=../../Untrusted.pm" my $dbh = DBI->connect( $dsn ); Note that DBD::Gofer forwards connect attributes to the server side, and DBI::ProxyServer checks only that a DSN starts with a driver prefix.


Затронутые продукты
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS:perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS:perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS:perl-DBI-1.642-150200.3.26.1

Ссылки

Описание

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


Затронутые продукты
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS:perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS:perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS:perl-DBI-1.642-150200.3.26.1

Ссылки

Описание

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;


Затронутые продукты
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS:perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS:perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:perl-DBI-1.642-150200.3.26.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS:perl-DBI-1.642-150200.3.26.1

Ссылки