JVNVU#92302510
FFmpeg および Libav に情報漏えいの脆弱性
FFmpeg は、"cross-platform solution to record, convert and stream audio and video (様々なプラットフォームに対応した、音声・映像を記録・変換・配信するためのソフトウェア)" です。FFmpeg には、プレイリストファイルの処理におけるドメイン制限に問題があり、ローカルファイルの情報が漏えいする脆弱性が存在します。
- FFmpeg 2.8.5 より前のバージョン
- Libav
データ送信による情報漏えい (CWE-201) - CVE-2016-1897, CVE-2016-1898
細工されたプレイリストファイルを FFmpeg で開くと、FFmpeg はリモートのデータをサーバに問い合わせます。攻撃者がプレイリストを巧妙に細工することで、FFmpeg に対して URI にリクエストを送信させることができます。その URI には、file:// で指定されたユーザのシステム上のファイルの内容が含まれるため、ファイルの情報が漏えいします。CVE-2016-1897 はプレイリストの連結処理を使用した問題、CVE-2016-1898 はサブファイルに関する問題を指しています。
MITRE の CVE チームによるメーリングリストへの投稿には次のように記載されています:
さらに詳しい情報は発見者のブログ投稿 (ロシア語) に記載されています。"The essential problem is that a crafted file forces the victim to visit an arbitrary external URL, but this URL is constructed using data from the victim's local filesystem."
根本となる問題は、細工されたファイルによって被害者が任意の外部 URL にアクセスさせられ、この URL が被害者のローカルファイルシステムのデータを使用して作成されている点にあります。
Libav は FFmpeg から派生したソフトウェアであり、Libav も本脆弱性の影響を受けます。
細工されたプレイリストファイルを FFmpeg または Libav で処理することで、遠隔の攻撃者にローカルのファイル内容を取得される可能性があります。
ファイルマネージャによるサムネイル表示などの処理によって、ユーザが明示的に操作しなくても本脆弱性の影響を受ける可能性があります。
アップデートする
開発者が提供する情報をもとに、最新版へアップデートしてください。
FFmpeg 2.8.5 で本脆弱性が修正されています。
-
CERT/CC Vulnerability Note VU#772447
ffmpeg and Libav cross-domain information disclosure vulnerability -
Блог на Хабрахабре (発見者のブログ投稿 - ロシア語)
Опасное видео: как я нашёл уязвимость в видеохостингах и не умер через 7 дней -
oss-security
Re: Fwd: FFmpeg: stealing local files with HLS+concat -
Information Security Stack Exchange
How to handle media files from untrusted sources?
攻撃元区分(AV) | 物理 (P) | ローカル (L) | 隣接 (A) | ネットワーク (N) |
---|---|---|---|---|
攻撃条件の複雑さ(AC) | 高 (H) | 低 (L) | ||
必要な特権レベル(PR) | 高 (H) | 低 (L) | 不要 (N) | |
ユーザ関与レベル(UI) | 要 (R) | 不要 (N) | ||
スコープ(S) | 変更なし (U) | 変更あり (C) | ||
機密性への影響(C) | なし (N) | 低 (L) | 高 (H) | |
完全性への影響(I) | なし (N) | 低 (L) | 高 (H) | |
可用性への影響(A) | なし (N) | 低 (L) | 高 (H) |
攻撃元区分(AV) | ローカル (L) | 隣接 (A) | ネットワーク (N) |
---|---|---|---|
攻撃条件の複雑さ(AC) | 高 (H) | 中 (M) | 低 (L) |
攻撃前の認証要否(Au) | 複数 (M) | 単一 (S) | 不要 (N) |
機密性への影響(C) | なし (N) | 部分的 (P) | 全面的 (C) |
完全性への影響(I) | なし (N) | 部分的 (P) | 全面的 (C) |
可用性への影響(A) | なし (N) | 部分的 (P) | 全面的 (C) |
JPCERT 緊急報告 |
|
JPCERT REPORT |
|
CERT Advisory |
|
CPNI Advisory |
|
TRnotes |
|
CVE |
CVE-2016-1897 |
CVE-2016-1898 |
|
JVN iPedia |