cve-2022-44268-detector は Go プログラムで、PNG を読み取り、CVE-2022-44268 のエクスプロイトによって生成された悪意のある画像かどうかを報告します。この脆弱性は ImageMagick に存在し、攻撃者が特別に細工された画像を使用して任意のファイル内容を読み取ることを可能にします。
cve-2022-44268-detector をインストールするには、go install を使用します。
$ go install github.com/jnschaeffer/cve-2022-44268-detector@latest
十分注意してください 信頼できないデータを扱う際は。攻撃者は、非 zlib データ(シェルスクリプトや、検出ワークフローのバグを悪用するコードなど)を含む可能性のある png チャンクを作成できます。誤って攻撃者が提供したコードを端末やシェルに書き込むと、悪意のあるコードの実行につながる可能性があります。そのようなセキュリティ上の問題を軽減するために、検出プログラムは仮想マシンや隔離された計算環境で実行することを強く推奨します。
cve-2022-44268-detector はコマンドラインアプリケーションです。次のように実行できます:
$ cve-2022-44268-detector -filename image.png
***POTENTIAL INDICATOR OF COMPROMISE*** - keyword: 'Raw profile type' | compressed: true | id: 0 | offset: 0x72 | len: 666
ユーザーはオプションで -print 引数を指定して、抽出された各チャンクの内容を標準出力に出力できます。: 各チャンクの値はバイナリの zlib 圧縮データである可能性が高い(つまり人間が読めるものではありません)。ユーザーはこのデータをファイルにリダイレクトすることを強く推奨します。
注: -print を使用する際は細心の注意を払ってください。 信頼できない png には、端末やシェルに露出すると実行可能コードとして解釈される可能性のあるデータが含まれている場合があります。この機能を使用する際は適切な予防措置を講じてください。
-print 引数は以下の値を受け付けます:
raw - チャンクの値をそのまま標準出力に書き込むdecompress - 書き込む前にチャンクの値を展開するdecompress-hexdecode - 書き込む前にチャンクの値を展開してから16進数デコードする。ImageMagick は最初にデータを16進数エンコードし、次に zlib 圧縮を使用して圧縮しているようです。$ cve-2022-44268-detector -filename image.png -print raw > /tmp/out
***POTENTIAL INDICATOR OF COMPROMISE*** - keyword: 'Raw profile type' | compressed: true | id: 0 | offset: 0x72 | len: 666
$ hexdump -C /tmp/out