
CVE-2018-16323は、XBM画像の処理におけるメモリ漏洩です。XBM画像が別の画像タイプに変換された後、画像データから漏洩したメモリバイトを抽出できます。
d4d氏によって発見されました。
CVE-2018-16323のPoCを生成するための非常にシンプルなツールです。samplesディレクトリには、すぐに使えるいくつかの事前生成PoCが含まれています。
このツールを使用するには、imagemagickをインストールする必要があります:
apt-get -y install imagemagick
そして確認してください:
convert -v
どのバージョンでも問題ありません。
Usage poc generator: ./XBadManners.sh gen WIDTHxHEIGHT NAME.xbm [minimal]
Example gen: ./XBadManners.sh gen 512x512 poc.xbm
Example gen: ./XBadManners.sh gen 1024x1024 poc_minimal.xbm minimal
Usage result recovery: ./XBadManners.sh recover SAVED_PREVIEW.png|jpeg|gif|etc
Example recovery: ./XBadManners.sh recover avatar.png
minimalモードでは、BurpSuiteなどに貼り付けるための最小のXBMボディを生成できます。最小モードはテスト済みで、正常に動作します。このモードでは任意の幅と高さを設定できます。
1つの画像を使用して大量のメモリを抽出できることに注意してください。唯一の制限は、バックエンドによる生成画像の最大サイズ制限です。
preview.pngの復元を試すことができます。出力に読み取り可能な単語が表示されれば、すべて正常に動作していることを意味します。
./XBadManners.sh gen 512x512 poc.xbm を実行します。./XBadManners.sh recover result.png を実行します。アップロードごとにプレビューが大幅に変化する場合は、良い兆候です。
復元モードは簡単なチェックのために作られており、ImageMagickがサポートする任意の画像フォーマットで動作するはずですが、png、jpeg、gifでのみテストされています。 スクリプトを修正することで、画像からのメモリ抽出ロジックを調整できます(シンプルですが見苦しいです)。

XBMは白黒フォーマットです。そのため、結果は(想像力が豊かであれば)シマウマのように見えます。基本的に、黒が多いほど、より多くのデータが抽出されたことを意味します。
すべてのImageMagickビルドのうち、このコミット以降かつこのコミット以前のものが脆弱です。