公開日:2016/01/21 最終更新日:2016/01/21

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 で本脆弱性が修正されています。

ベンダ情報

ベンダ リンク
FFmpeg トップページ
Libav トップページ

参考情報

  1. CERT/CC Vulnerability Note VU#772447
    ffmpeg and Libav cross-domain information disclosure vulnerability
  2. Блог на Хабрахабре (発見者のブログ投稿 - ロシア語)
    Опасное видео: как я нашёл уязвимость в видеохостингах и не умер через 7 дней
  3. oss-security
    Re: Fwd: FFmpeg: stealing local files with HLS+concat
  4. Information Security Stack Exchange
    How to handle media files from untrusted sources?

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

CVSS v3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
基本値: 5.3
攻撃元区分(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)
CVSS v2 AV:N/AC:L/Au:N/C:P/I:N/A:N
基本値: 5.0
攻撃元区分(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