脆弱性の重要情報 脆弱性タイトル: VideoResize.class.php を介した RCE 脆弱性 影響バージョン: <= 1.64.05 (Linux) 脆弱性説明: 脆弱性タイプ: コマンドインジェクション脆弱性 影響を受けるファイル: plugins/fileThumb/lib/VideoResize.class.php(141行目) 原因: アプリケーションは を実行するためにシェルコマンドを構築していますが、ユーザーが制御可能なファイルパス( )をコマンド文字列に直接連結しています。 問題: 変数は二重引用符で囲まれていますが、Linux システムにおいてはコマンドインジェクションを防ぐのに不十分です。シェル拡張(例: やバッククォート)が依然として処理されるためです。認証済み攻撃者は、悪意のあるコマンドを含むビデオファイルをアップロードし、「トランスコード」プロセスをトリガーすることで、任意のシステムコマンドを実行することができます。 概念実証 (PoC): 1. 前提条件: - がインストールされた Linux サーバー。 - 「メディアファイルプレビュー」プラグが有効化されている(デフォルトのトランスコードサイズ:50MB〜10GB)。 2. 再現手順: - VPS 上でリスナーを起動する: - 適切なサイズのビデオファイルを作成し、 curl vps_ip など( は実際の IP アドレスに置き換える)にリネームする。 - ファイルをアップロードする。 - ファイルパスを取得する: アップロード API のレスポンス の戻り値内のパス名(例: )を確認する。 - 脆弱性をトリガーする: 上記で取得したパスを使用して、GET メソッドでトランスコード API にリクエストを送信する。 - 検証: VPS が接続リクエストを受け取ったかどうかを確認する。