Posted at

ImageMagickの脆弱性「ImageTragick」にサクッと対応する

More than 3 years have passed since last update.


脆弱性概要

脆弱性愛称
ImageTragick

CVE
CVE-2016-3714
CVE-2016-3715
CVE-2016-3716
CVE-2016-3717
CVE-2016-3718

重要度
Important


影響

convertコマンドでMVGファイルを読み込むと、MVGファイル内のコマンドが実行できてしまう。他サーバーへの踏み台として使われる。

MVGを拡張子的に変えてても(JPGやPNG)実行される。


対応方法


脆弱性検証スクリプト

git clone https://github.com/ImageTragick/PoCs.git

cd PoCs
./test.sh

ここでUNSAFEがあると脆弱性有り。


policy.xmlで対応

当方環境は/usr/local/etc/ImageMagick-6/policy.xmlだったが、分からない場合は

find /usr | grep "policy.xml"

で検索してみるといいかも。

末尾にあたりに

<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" />

再起動等は必要ない様子。


対応できたか再検証

脆弱性スクリプトを再度実行

./test.sh

全てSAFEになっていることを確認。

[hoge@localhost PoCs]# ./test.sh

testing read
SAFE

testing delete
SAFE

testing http with nonce: eeEPmRsx
SAFE

testing rce1
SAFE

testing rce2
SAFE

testing MSL
SAFE


参考