CVE-2016–3714 によると、ImageMagickプログラム(4パッケージ)にいくつかの脆弱性があります:
デリゲートのコマンドに渡されたファイル名のフィルタリングが不十分なため、いくつかのファイル形式の変換中にリモートでコードが実行される
imagemagick
パッケージに依存する他のプログラムとコマンドラインがあります(例 here )。 ImageMagickプログラムを実行することにより、画像ファイルは悪意のあるコードを受け取ることができます。
パッチが利用可能になるまでImageMagick
の脆弱性を検証、保護、防止するために推奨される手順は何ですか?
あなたがリンクしたページによると、 回避策 があります。
以下をpolicy.xml
に追加します。
<policy domain="coder" rights="none" pattern="EPHEMERAL" />
<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" />
このファイルは/etc/ImageMagick/
にあります。
これにより、ImageMagickコーダーモジュールが上記のアクセスモジュールを利用することが防止されます。これらのモジュールは現在、コマンドインジェクションの問題に対して脆弱です。
oss-security thread には、バグに関するドキュメント化されたPoCがいくつかあります。これは、回避策を適用した後もバグがまだ存在するかどうかを確認するためのチェックとして使用できます。
次に例をいくつか示します。
exploit.mvg
Push graphic-context
viewbox 0 0 640 480
fill 'url(https://example.com/image.jpg"|ls "-la)'
pop graphic-context
exploit.svg
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="640px" height="480px" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink=
"http://www.w3.org/1999/xlink">
<image xlink:href="https://example.com/image.jpg"|ls "-la"
x="0" y="0" height="640px" width="480px"/>
</svg>
これらに対して単にconvert
を実行すると、ls -la
が実行され、脆弱性が存在する場合、その出力がコンソールに表示されます。
これはあなたのためのリファレンスです: https://imagetragick.com
そのページによると、処理しているファイルのマジックバイトを確認し、ポリシーファイルを使用して脆弱なImageMagickコーダーを無効にする必要があります。
このサイトでは、サンプルのグローバルポリシーを提供しています。ただし、1つのサイズですべてに適合するわけではありません。出発点として使用できます。