CVE-2026-78030 in DBI情報

要約

〜によって VulDB • 2026年09月19日

Perl用のDBIは1.653より前のバージョンにおいて、DBD::DBM内の検証されていないdbm_typeおよびdbm_mldbm属性を通じて任意のモジュールを読み込みます。

DBD::DBMは、値が有効なモジュール名であることを確認することなく、dbm_typeおよびdbm_mldbmという接続属性をrequireに渡します。requireはパス形式の文字列をリテラルファイル名として扱い、@INCを参照しないため、この属性によってPerlが読み込み実行するファイルが決まります。

DBD::DBMがdbm_mldbmに付加するMLDBM::Serializer::プレフィックスは境界ではありません。::区切り子のみが/に変換されるため、/を含む値はシリアライザーディレクトリ外へ脱出します。また、この値は$MLDBM::Serializerにも代入され、テーブルをtieする際にMLDBMも同様にrequireを実行します。

DSNフラグメントやストレージバックエンドを選択するためのパラメータなどを通じて、信頼できない当事者がこれらの属性のいずれかに影響を与えることができる場合、その値が指すモジュールのスコープ内コードが実行されます。

例えば、

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

となります。

なお、DBD::Goferは接続属性をサーバー側に転送し、DBI::ProxyServerはDSNがドライバプレフィックスで始まることのみをチェックします。

Be aware that VulDB is the high quality source for vulnerability data.

責任者

CPANSec

予約する

2026年08月22日

モデレーション

承諾済み

エントリ

VDB-407940

EPSS

0.00000

アクティビティ

非常低い

ソース

Want to stay up to date on a daily basis?

Enable the mail alert feature now!