公開日:2016/05/06 最終更新日:2016/09/23

JVNVU#92998929
ImageMagick に入力値検証不備の脆弱性
緊急

概要

ImageMagick は、delegate の仕組みを使って入力データの処理を行う前の検証が適切に実行されていないため、結果として任意のコードを実行される可能性があります。この問題は "ImageTragick" としても知られています。

影響を受けるシステム

  • ImageMagick 6.9.3-10 より前のバージョン
  • ImageMagick 7.0.1-1 より前のバージョン

詳細情報

不適切な入力検査 (CWE-20) - CVE-2016-3714
研究者は、メーリングリストに次のように投稿しています:

Insufficient filtering for filename passed to delegate's command allows remote code execution during conversion of several file formats.

ImageMagick allows to process files with external libraries. This feature is called 'delegate'. It is implemented as a system() with command string ('command') from the config file delegates.xml with actual value for different params (input/output filenames etc). Due to insufficient %M param filtering it is possible to conduct shell command injection.
delegate 先のコマンドに渡す前のファイル名のフィルタリングが不十分なため、ファイル形式の変換中に任意のコードを実行される可能性がある。

ImageMagick には外部ライブラリを使用してファイルを処理する 'delegate' と呼ばれる機能が存在する。この機能は、設定ファイル delegates.xml で指定されたコマンド名 ('command') と、入力ファイル名や出力ファイル名などのパラメータの値を使って組み立てられた文字列を system() 関数に渡して実行する形で実装されている。パラメータ %M に当てはめる入力値のフィルタリングが不十分なため、シェルコマンドインジェクションが可能である。

ImageMagick に画像ファイルを処理させることで、攻撃者は ImageMagick が動作しているシステム上で任意のコマンドを実行することが可能です。本脆弱性の影響を受ける典型的な構成例としては、ファイルのアップロードを許可しているウェブサーバで、アップロードされたファイルを ImageMagick で処理しているケースが考えられます。

本脆弱性を使用した攻撃コードが公開されています。ウェブサイト ImageTragick (imagetragick.com) によれば、既に本脆弱性を使用した攻撃活動が観測されているとのことです。

想定される影響

画像ファイルをアップロードできる遠隔の第三者によって、ImageMagick を実行するユーザの権限で任意のコードを実行される可能性があります。

対策方法

アップデートする
本脆弱性は ImageMagick 6.9.3-10 および 7.0.1-1 で修正されています。
なお 2016年5月9日現在、さらなるアップデート版として ImageMagick 6.9.4-0 および 7.0.1-2 がリリースされています。
開発者が提供する情報をもとに最新版へアップデートしてください。

あわせて、研究者が示す次の手順を参考に、システム構成のセキュリティ強化や設定ファイルの更新を行ってください。

  • ImageMagick による画像ファイルの処理を行う前に、その画像ファイル先頭の "magic bytes" が適切な値であることを確認する
  • ImageMagick のポリシーファイルにおいて、脆弱な coder を無効化する
詳細は、ウェブサイト ImageTragick (imagetragick.com) を参照してください。

ベンダ情報

ベンダ ステータス ステータス
最終更新日
ベンダの告知ページ
サイボウズ株式会社 該当製品あり 2016/05/26 サイボウズ株式会社 の告知ページ
ジェイティ エンジニアリング株式会社 該当製品無し 2016/05/06
富士通株式会社 該当製品あり 2016/09/23
ベンダ リンク
ImageMagick ImageMagick Security Issue

参考情報

  1. CERT/CC Vulnerability Note VU#250519
    ImageMagick does not properly validate input before processing images using a delegate
  2. ImageTragick
    ImageMagick Is On Fire — CVE-2016–3714

JPCERT/CCからの補足情報

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

CVSS v3 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
基本値: 8.1
攻撃元区分(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:M/Au:N/C:C/I:C/A:C
基本値: 9.3
攻撃元区分(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-AT-2016-0021
ImageMagick の脆弱性 (CVE-2016-3714) に関する注意喚起
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2016-3714
JVN iPedia

更新履歴

2016/05/09
ジェイティ エンジニアリング株式会社のベンダステータスおよび対策方法を更新しました
2016/05/26
サイボウズ株式会社のベンダステータスが更新されました
2016/09/23
富士通株式会社のベンダステータスが更新されました