CVE-2026-78030 in DBIinformação

Sumário

de VulDB • 19/09/2026

As versões do DBI anteriores à 1.653 para Perl carregam módulos arbitrários por meio dos atributos dbm_type e dbm_mldbm não validados no DBD::DBM.

O DBD::DBM passa os atributos de conexão dbm_type e dbm_mldbm para require sem verificar se o valor nomeia um módulo. O require trata uma string com formato de caminho como um nome de arquivo literal e não consulta @INC, portanto, o atributo escolhe o arquivo que o Perl carrega e executa.

O prefixo MLDBM::Serializer:: que o DBD::DBM adiciona a dbm_mldbm não é um limite: apenas os separadores :: são reescritos para /, então um valor contendo / atravessa para fora do diretório de serializadores. O valor também é atribuído a $MLDBM::Serializer, que o MLDBM requer da mesma forma quando vincula a tabela.

Um chamador que permite que uma parte não confiável influencie qualquer um dos atributos, por exemplo, através de um fragmento DSN ou de um parâmetro que seleciona um backend de armazenamento, executa o código no escopo do arquivo do módulo nomeado pelo valor.

Por exemplo:

my $dsn = "dbi:DBM:f_dir=/var/db;dbm_type=../../Untrusted.pm" my $dbh = DBI->connect( $dsn );

Observe que o DBD::Gofer encaminha os atributos de conexão para o lado do servidor, e o DBI::ProxyServer verifica apenas se um DSN começa com um prefixo de driver.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsável

CPANSec

Reservar

22/08/2026

Divulgação

19/09/2026

Moderação

aceite

Entrada

VDB-407940

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you know our Splunk app?

Download it now for free!