Multiple FFmpeg Flaws Allow Arbitrary Memory Corruption via Malicious Videos
2026/07/28 gbhackers — FFmpeg の深刻な脆弱性群を悪用する攻撃者は、メモリ破損/プロセスデータ漏洩/システムリソース枯渇を引き起こす可能性がある。具体的には、特別に細工された動画/音声/画像/字幕ファイルを、ユーザーや自動化されたメディア処理サービスに処理させるよう仕向けることで、それらの脆弱性が悪用される恐れがある。

これらの脆弱性が影響を及ぼす範囲は、FFmpeg バージョン 8.1.28 以下である。それらのバージョンを、トランスコーディング・パイプライン/メディアアップロード・プラットフォーム/ストリーミングサービス/デスクトップ向け動画処理ツールなどで運用している組織には、提供されているアップストリーム修正プログラムの速やかな適用が推奨される。
FFmpeg の複数の脆弱性
セキュリティ研究者たちが、FFmpeg に存在する 6 件の深刻な脆弱性を公表している。これらの脆弱性により、ヒープメモリ破損/サービス拒否 (DoS) 状態/情報漏洩のリスクに、影響を受けるシステムがさらされる可能性がある。
これらの問題は、vurlo として知られる Adrian Junge により報告され、2026年7月24日に公開されたものである。いくつかの脆弱性は、脆弱な FFmpeg インスタンス上での悪意のメディア・ファイル処理により引き起こされる可能性がある。それにより、メディア・コンテンツを自動的に検査/デコード/トランスコード/生成するアプリケーションにリスクが生じる恐れがある。
最も深刻な脆弱性は、MACE6 オーディオ/PNG メタデータ/APNG メタデータ/HQDN3D ビデオフィルター/Quirc QR コード検出フィルターを処理するコンポーネントにおける、範囲外書き込みに関連するものだ。これらの脆弱性によりメモリ破損が生じ、影響を受けるプロセスがクラッシュする可能性があるほか、悪用可能性の状況に応じて、任意のコード実行に悪用される恐れがある。
脆弱性 CVE-2026-66036 は、vf_hqdn3d ノイズ除去フィルターに影響を与える欠陥であり、処理中に解像度が上昇するフレームを取り込む動画に対して、攻撃者による細工が可能になる。FFmpeg がオプション -reinit_filter 0 を使用して実行された場合に、フィルターはオリジナルのフレームサイズ用に割り当てられた、ライン履歴バッファを保持し続ける可能性があり、その結果として、denoise_spatial() ルーチンが大きなフレームを処理する際に割り当て範囲を超えて書き込みを行い、ヒープメモリの破損に至る可能性がある。
脆弱性 CVE-2026-66039 は、悪意の CAF ファイルを処理する際に、FFmpeg の MACE6 オーディオ・デコーダに影響を与える深刻な欠陥である。bytes_per_packet および frames_per_packet の値が改ざんされた場合、出力サンプル・サイズの計算中に符号付き整数オーバーフローが発生し、その結果として、不十分なサイズのメモリ割り当てが行われ、ヒープ領域外への書き込みに至る可能性がある。
脆弱性 CVE-2026-66040 は、FFmpeg のネイティブ PNG/APNG エンコーダに存在する深刻な欠陥であり、悪意の eXIf チャンクを取り込んだ、細工された PNG 画像により引き起こされる可能性がある。それにより、add_exif_profile_size() が計算する出力バッファサイズを複数の IFD エントリが参照し、メタデータのシリアライズ処理が超過し、ヒープ割り当て範囲外への書き込みに至る可能性がある。
影響を受ける CVE
- CVE-2026-66036 (CVSS 7.7:High):フレーム解像度を変更した細工された動画を介して、vf_hqdn3d フィルターでヒープ範囲外書き込みが発生する脆弱性であり、コミット 5d7112c で修正済み。
- CVE-2026-66037 (CVSS 7.1:High):悪意のある count_label フィールドを介した 171 バイトの入力により、IAMF デマルチプレクサで制御されないメモリ割り当てが発生する脆弱性であり、コミット 8670835 で修正済み。
- CVE-2026-66038 (CVSS 7.1:High):初期化されていないヒープメモリがデコードされた出力フレームへコピーされることにより、LCL/ZLIB デコーダで情報漏洩が発生する脆弱性であり、コミット e7cbfd1 で修正済み。
- CVE-2026-66039 (CVSS 8.7:High):細工された CAF ファイルを介して、MACE6 デコーダで整数オーバーフローおよびヒープ範囲外書き込みが発生する脆弱性であり、コミット aafb5c6 で修正済み。
- CVE-2026-66040 (CVSS 8.7:High):悪意のある eXIf チャンクを介して、PNG/APNG エンコーダでヒープ範囲外書き込みが発生する脆弱性であり、コミット b506faf で修正済み。
- CVE-2026-66041 (CVSS 7.7:High):表示寸法が一致しない PGS/SUP 字幕を介して、vf_quirc でヒープ範囲外書き込みが発生する脆弱性であり、コミット 4da9812 で修正済み。
管理者に対して強く推奨されるのは、ベンダーがパッチ適用済みビルドをリリース次第、速やかに FFmpeg パッケージを更新することである。また、メディア処理サービスでは、FFmpeg のワークロードを分離し、ファイルサイズ/リソース制限を適用するとともに、受け入れ可能なフォーマットを検証した上で、パーサーを必要最小限の権限で実行する必要がある。これらの対策は、直ちにパッチを適用できない場合であっても、脆弱性による影響を軽減するのに役立つ。
訳者後書:今回の脆弱性は、FFmpeg が動画や音声などのファイルを処理する際の入力検証不足や計算エラーなどに起因するものです。具体的には、解像度が途中で変わる動画によるバッファサイズの誤計算 CVE-2026-66036 や、改ざんされたメタデータによる符号付き整数オーバーフロー CVE-2026-66039、複数の参照による出力バッファ超過 CVE-2026-66040 などが発生しています。また、IAMF デマルチプレクサでの制御されないメモリ割り当て CVE-2026-66037、初期化されていないメモリの読み出し CVE-2026-66038、表示寸法不一致によるバッファ超過 CVE-2026-66041 も確認されています。メディアファイルを扱う際は、こうした境界チェックの不備に起因するメモリ破壊に注意する必要があります。よろしければ、FFmpeg での検索結果も、ご参照ください。
You must be logged in to post a comment.