つみかさね

CVE-2026-8450

Critical(9.1)

HTTP::DaemonのOSコマンドインジェクション CVE-2026-8450:影響範囲と対応方法

公開日: 2026-07-08データソース: NVD, GitHub Advisory

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

製品ベンダー影響バージョン
HTTP::Daemonlibwww-perl / CPAN< 6.17

対応ガイド

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

推奨アクション

  1. 1使用しているHTTP::Daemonのバージョンを確認する(cpan -D HTTP::Daemon)
  2. 26.17未満の場合はcpanm HTTP::Daemon@6.17でアップデートする
  3. 3send_file()を使用しているコードで、ユーザー入力が渡されていないか確認する

影響対象

HTTP::Daemon 6.17未満を使用するPerlアプリケーション

補足

  • -send_file()を使用していない場合でも、HTTP::Daemonをアップデートすることを推奨します
CVEHTTP::DaemonPerlコマンドインジェクションWebサーバー

30秒で判断

対応すべき人:

  • HTTP::Daemon 6.17未満を使用しているPerlアプリケーション
  • send_file()にユーザー入力や外部からのデータを渡している

対応不要な人:

  • HTTP::Daemon 6.17以降を使用している
  • HTTP::Daemonを使用していない
  • send_file()を使用していない、または静的なパス文字列のみ渡している

確認コマンド:

perl -mHTTP::Daemon -e 'print $HTTP::Daemon::VERSION, "\n"'
# または
cpan -D HTTP::Daemon

概要

HTTP::Daemon(Perl)のsend_file()メソッドが、引数をPerlの2引数open()に渡してしまう設計上の脆弱性です(CVE-2026-8450、CVSS 9.1)。

Perlの2引数open()はファイルパス文字列に含まれる「マジックプレフィックス」を解釈します:

  • | cmd → コマンドをパイプで実行
  • cmd | → コマンドの出力をHTTPレスポンスとして送信
  • > path / >> path → ファイルへの書き込み/追記

信頼されない入力(HTTPリクエスト由来のファイルパス等)をsend_file()に渡すと、デーモンプロセスの権限でOSコマンドが実行されます。読み取りパイプ形式では、コマンドの標準出力がHTTPレスポンスのボディとして返されます。


CVSSベクトル

項目
スコア9.1
深刻度Critical
CWECWE-73(ファイル名または経路の外部制御)、CWE-78(OSコマンドインジェクション)
攻撃元区分ネットワーク (AV:N)
攻撃条件の複雑さ低 (AC:L)
必要な特権レベル不要 (PR:N)
ユーザー関与不要 (UI:N)
機密性への影響高 (C:H)
完全性への影響高 (I:H)
可用性への影響高 (A:H)

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

製品影響バージョン修正バージョン
HTTP::Daemon(Perl)6.17未満6.17以降

修正バージョンと回避策

推奨対応: HTTP::Daemon 6.17以降へアップデート

cpan install HTTP::Daemon
# または
cpanm HTTP::Daemon@6.17

コード修正(アップデートが困難な場合): send_file()に渡すパスを3引数open()を使うよう修正するか、入力のホワイトリスト検証を実施してください。


関連リンク


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

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