脆弱性概要
脆弱性愛称 | 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