Critical FFmpeg Vulnerability Lets Hackers Execute Remote Code via Malicious Media Files
2026/06/23 gbhackers — FFmpeg が公表した脆弱性は、特別に細工されたメディア・ファイルを介してメモリ破損を引き起こし、リモート・コード実行へと至る深刻な欠陥である。JFrog Security Research により発見され、PixelSmash と名付けられた CVE-2026-8461 は、FFmpeg の libavcodec ライブラリ内の MagicYUV デコーダに影響を及ぼす脆弱性であり、CVSS スコアは 8.8 と評価されている。

この脆弱性は、FFmpeg が悪意の AVI/MKV/MOV ファイルを処理する際に発生する、ヒープ領域外書き込みに起因する。FFmpeg はデスクトップ・アプリケーション/クラウド・パイプライン/組み込みシステムで広く使用されているため、その影響はソフトウェア・エコシステムの相当な部分に及ぶ。
深刻な FFmpeg の脆弱性
この脆弱性の根本原因は、MagicYUV デコーダにおけるスライス高の計算処理の不備にある。このバッファ割り当てとデコード・ロジックの不一致を突く攻撃者は、割り当て済みヒープ領域の範囲外への書き込みが可能になる。具体的には、不正なスライス高の値により誤ったクロマプレーン計算が行われ、その結果として 1 行分のオーバーフローが発生する。
この問題を示す簡略化された脆弱なコード・パスは以下のとおりである。
s->slice_height = bytestream2_get_le32u(&gb);int sheight = AV_CEIL_RSHIFT(s->slice_height, 1);dst = p->data[1] + j * height * stride;for (k = 0; k < height; k++) { bytestream_get_buffer(&slice, dst, width); // OOB write dst += stride;}
このオーバーフローを悪用する攻撃者は、AVBuffer オブジェクトなどの隣接するヒープ構造体を書き換えることが可能になる。これにより、関数ポインタの不正な制御が可能となり、FFmpeg がメモリを解放する際に任意のコマンドが実行される恐れがある。
buf->free(buf->opaque, buf->data);
研究者たちが実証したのは、free() 関数ポインタを system() にリダイレクトすることで、攻撃者が制御するコマンドの実行につながる完成度の高いエクスプロイトである。悪意のメディア・ファイルを標的アプリケーションに処理させるだけで、この脆弱性の悪用が可能となり、多くのシナリオにおいて、認証やユーザー操作は必要とされない。
攻撃ベクターとして挙げられるのは、メディア・プレーヤーでファイルを開く操作/Jellyfin や Nextcloud などのメディア・サーバへのコンテンツのアップロード/サムネイル生成をトリガーするディレクトリ閲覧といった、多用される受動的な操作である。
特に懸念されるのは、Jellyfin および Nextcloud のインスタンスに対するリモート・コード実行が実証されたことである。これらのケースでは、自動化されたメディア処理ワークフロー中に細工された 50 KB の動画ファイルが悪用され、最終的にサービス・アカウント権限によるリバース・シェルの取得に至った。
管理者は以下のコマンドを実行し、脆弱なデコーダの有効化/無効化を確認できる。
ffmpeg -decoders 2>/dev/null | grep magicyuv
出力に “magicyuv” が含まれている場合には、FFmpeg 9.0 未満の脆弱なバージョン である可能性が高いため、対策の実施が強く推奨される。ユーザーに対して推奨されるのは、パッチ適用済みの FFmpeg リリースへと直ちにアップグレードすることである。アップグレードが困難な場合は、ビルド時に MagicYUV デコーダを無効化することで暫定的な保護を提供できる。
./configure --disable-decoder=magicyuvmake && make install
また、スライス高さの値を検証し、不正な入力によるオーバーフローの発生を防止するための最小限のパッチも公開されている。
FFmpeg は、メディア・プラットフォーム/AI パイプライン/クラウド・サービス全体に統合されているため、この脆弱性への対応が遅滞すると、深刻な攻撃対象を生み出すことになる。
この脆弱性 PixelSmash CVE-2026-8461 が示すのは、広く使用されている依存関係に存在する単一の欠陥が、数百のアプリケーションへ波及するソフトウェア・サプライチェーンのリスクである。
訳者後書:この脆弱性 CVE-2026-8461 は、 FFmpeg の MagicYUV デコーダにおけるスライス高の計算処理の不備に起因します。具体的には、バッファ割り当てのサイズと実際のデコード・ロジックの不一致が生じ、不正な入力値による誤ったクロマプレーン計算が引き起こされます。これにより、本来のヒープ領域を超えて 1 行分のデータが書き込まれるオーバーフローが発生します。結果として、メモリ上の隣接する構造体の書き換えにより関数ポインタが不正に制御され、意図しないコマンドが実行可能な状態になります。ご利用のチームは、お気をつけください。よろしければ、FFmpeg での検索結果も、ご参照ください。


You must be logged in to post a comment.