つみかさね

CVE-2026-78030

Critical(9.8)

Perl DBI(DBD::DBM)の任意モジュール読み込み CVE-2026-78030:影響範囲と対応方法

公開日: 2026-09-21データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
DBI (Perl)perl5-dbi< 1.653

対応ガイド

high|対応必須セキュリティ修正影響: 限定的

推奨アクション

  1. 1perl -MDBI -e 'print $DBI::VERSION' でバージョンを確認する
  2. 2DBI 1.653 以降へアップデートする
  3. 3接続属性・DSNに外部入力を混入させない設計に見直す

影響対象

Perl DBI / DBD::DBM を利用するアプリの開発者・運用者

対応不要な人

  • DBIを利用していない
  • 1.653 以降を使用している
  • DBD::DBM を使わず接続属性を固定値で渡している

補足

  • -DBD::Gofer / DBI::ProxyServer を信頼できないネットワークに公開しないでください
CVEPerlDBIコード実行

30秒で判断

  • 対応すべき人: Perl の DBI / DBD::DBM を利用し、接続属性(dbm_type / dbm_mldbm)やDSNの一部に外部入力が影響し得るアプリを運用している
  • 対応不要な人: DBI を利用していない、1.653 以降を使用している、DBD::DBM を使わず接続属性を固定値で渡している
  • 確認コマンド: perl -MDBI -e 'print $DBI::VERSION' でバージョンを確認

概要

DBI は Perl のデータベース独立インターフェースです。本脆弱性では、DBD::DBM が接続属性 dbm_typedbm_mldbm の値を検証せずに require に渡します。require はパス形式の文字列をリテラルなファイル名として扱い @INC を参照しないため、属性値がPerlに読み込ませるファイルそのものを選べてしまいます。

DBD::DBM が付与する MLDBM::Serializer:: プレフィックスは境界にならず(::/ に書き換えられるだけ)、/ を含む値でシリアライザディレクトリの外へ辿れます。結果として、DSNの一部やバックエンド選択パラメータを通じて第三者が属性値に影響を与えられる場合、指定されたモジュールのファイルスコープのコードが実行される可能性があります。DBD::Gofer は接続属性をサーバー側へ転送し、DBI::ProxyServer はDSNが driver プレフィックスで始まるかしか確認しない点も注意が必要です。

CVSSベクトル

項目
CVSSスコア9.8(CRITICAL)
CWECWE-470(安全でないリフレクションによる制御されたコードの実行)
攻撃の起点外部入力に影響される接続属性 / DSN

影響を受けるソフトウェア

製品ベンダーバージョン
DBI (Perl)perl5-dbi1.653 より前

修正バージョンと回避策

DBI 1.653 以降へアップデートしてください。アップデートまでの緩和策として、dbm_type / dbm_mldbm を含む接続属性やDSNに外部入力を混入させない、DBD::DBM を利用しない構成に切り替える、DBI::ProxyServer を信頼できないネットワークに公開しないことを推奨します。

関連リンク


データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。