ImageMagick脆弱性暫定対応(CVE-2016-3714)

HOMEリナックスマスター.JP 公式ブログLinux情報・技術・セキュリティ > ImageMagick脆弱性暫定対応(CVE-2016-3714)

この記事の監修:宮崎智広(Linux教育歴15年以上・受講者3,100名超)

G.W中に「ImageMagick」の脆弱性がアナウンスされました。
ImageMagickを対処済の最新バージョンに更新することで対応可能ですが、
現時点でディストリビューターから最新バージョンの提供がない場合、
ImageMagickの設定ファイル「policy.xml」を編集して、
一部処理について制限を行うことで脆弱性に暫定対応できます。

本対策を行うと、これまで可能であった動作においても、
 エラーが発生する可能性があります。
本対策はディストリビューターから正式なアップデートが
 提供されるまでの暫定措置となり、制限は解除予定です。

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

■今回報告されている脆弱性
CVE-2016-3714
CVE-2016-3715
CVE-2016-3716
CVE-2016-3717
CVE-2016-3718
上記すべての脆弱性に暫定対応します。

ImageMagick に入力値検証不備の脆弱性
開発者向け画像処理ツール「ImageMagick」に脆弱性

1.CentOSのバージョンを確認する(環境はCentOS7.1)
[root@Tiger ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)

2.脆弱性検証スクリプトを導入する
[root@Tiger ~]# git clone https://github.com/ImageTragick/PoCs.git
Cloning into 'PoCs'...
remote: Counting objects: 43, done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 43 (delta 9), reused 0 (delta 0), pack-reused 23
Unpacking objects: 100% (43/43), done.

3.脆弱性検証スクリプトを実行する
[root@Tiger ~]# cd PoCs
[root@Tiger PoCs]# ./test.sh
testing read
UNSAFE

testing delete
UNSAFE

testing http with local port: 30439
SAFE

testing http with nonce: ayHDgrZB
SAFE

testing rce1
UNSAFE

testing rce2
UNSAFE

testing MSL
UNSAFE
※UNSAFEと表示された場合脆弱性が存在します。

4.脆弱性暫定対応を行う
policy.xmlファイルの所定の位置に一部処理制限の設定を追記する
※システム内のpolicy.xmlファイルを検索するには下記コマンドを実行する
[root@Tiger ~]# find / -name policy.xml

[root@Tiger PoCs]# cd
[root@Tiger ~]# vi /etc/ImageMagick/policy.xml
変更前)
<policymap>
<!-- <policy domain="system" name="precision" value="6"/> -->
<!-- <policy domain="resource" name="temporary-path" value="/tmp"/> -->
<!-- <policy domain="resource" name="memory" value="2GiB"/> -->
<!-- <policy domain="resource" name="map" value="4GiB"/> -->
<!-- <policy domain="resource" name="area" value="1GB"/> -->
<!-- <policy domain="resource" name="disk" value="16EB"/> -->
<!-- <policy domain="resource" name="file" value="768"/> -->
<!-- <policy domain="resource" name="thread" value="4"/> -->
<!-- <policy domain="resource" name="throttle" value="0"/> -->
<!-- <policy domain="resource" name="time" value="3600"/> -->

</policymap>

変更後)
<policymap>
<policy domain="coder" rights="none" pattern="EPHEMERAL" />
<policy domain="coder" rights="none" pattern="URL" />
<policy domain="coder" rights="none" pattern="HTTPS" />
<policy domain="coder" rights="none" pattern="MVG" />
<policy domain="coder" rights="none" pattern="MSL" />
<policy domain="coder" rights="none" pattern="TEXT" />
<policy domain="coder" rights="none" pattern="SHOW" />
<policy domain="coder" rights="none" pattern="WIN" />
<policy domain="coder" rights="none" pattern="PLT" />

</policymap>
修正後「:wq」で保存終了

5.再度脆弱性検証スクリプトを実行する
[root@Tiger ~]# cd PoCs
[root@Tiger PoCs]# ./test.sh
testing read
SAFE

testing delete
SAFE

testing http with local port: 32661
SAFE

testing http with nonce: saMw2X2C
SAFE

testing rce1
SAFE

testing rce2
SAFE

testing MSL
SAFE
※すべてSAFEと表示されれば安全です。


暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。


図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る