Ghostscript の脆弱性 CVE-2025-48708 が FIX:暗号化された PDF に平文パスワードが取り込まれる

Ghostscript Flaw Leaks Plaintext Passwords in Encrypted PDFs

2025/05/25 SecurityOnline — 広く使用される PDF/PostScript プロセッサ Artifex Ghostscript の脆弱性により、意図しない平文パスワードが暗号化されたPDF ファイルに埋め込まれ、ユーザー・データが危険に直面するという。この脆弱性 CVE-2025-48708 は、バージョン 10.05.1 以下における、セキュリティ上の欠陥を露呈している。CVE org は、「作成された PDF 文書には、平文のパスワードが取り込まれている、PDF 暗号化の本来の目的を、完全に損なうリスクが浮き彫りになっている」と述べている。

この脆弱性は、”base/gslibctx.c” の gs_lib_ctx_stash_sanitized_arg 関数の引数に対する、サニタイズ処理の失敗に起因する。コマンドライン・パラメータを使用して、パスワード保護された PDF を生成する際に、UserPassword や OwnerPassword などの機密情報を、Ghostscript は PDF コンテンツから削除できていない。その結果として、パスワードを含むコマンドライン全体が、PDF ファイルの先頭に埋め込まれてしまっている。

セキュリティ研究者である Vasileios Flengas は、「このツールを Windows 10 上で実行しているときに問題を発見した。生成された PDF ファイルの先頭に、完全なコマンドライン入力が埋め込まれ、その中には、平文のパスワードも含まれる」と指摘している。

この問題の再現は、驚くほど簡単である:

  1. GitHub の公式リリースから Ghostscript をインストールする。
  2. 以下のコマンドを実行する:gswin64.exe -sUserPassword#123456789 -sOwnerPassword#123456789 -sDEVICE#pdfwrite -sOutputFile#C:\test.pdf …
  3. 生成された PDF をテキスト・ビューアーで開く。type test.pdf (Windows) または、 cat test.pdf (Linux/macOS) を使用する。
  4. 使用された正確なコマンドと、暗号化されていないパスワードが表示される。

すでに Ghostscript は、バージョン 10.05.1 でパッチを発行し、この問題に対処している。このパッチでは、メタデータを埋め込む前に、コマンドライン入力を適切にサニタイズすることで問題を解決している。

Ghostscript の脆弱性 CVE-2025-48708 が FIX とのことです。ご利用のチームは、アップデートを忘れないよう、ご注意ください。なお、同ツールの直近の脆弱性は 2025/03/28 の「Ghostscript の複数の脆弱性が FIX:バッファ・オーバーフローや任意のファイル・アクセスの恐れ」となります。よろしければ、Ghostscript で検索も、ご参照ください。