CubePDF 1.0.0RC13

CubePDF 1.0.0RC13 をリリースしました。今回のアップデートは、Ghostscript の脆弱性に関連するものとなっています。

先日、Ghostscript の脆弱性 に関するレポートが公開されました。CubePDF は、PDF や PNG 画像などの変換処理に Ghostscript を使用しているため、この脆弱性の影響を受ける可能性があります。今回の脆弱性に関して、関連レポートなどを通じて内容の詳細を確認した所、今回の脆弱性は「Ghostscript に対して細工した PostScript ファイルを読み込ませる事で任意のコマンドを実行させる」と言うもののようです。

CubePDF は、Windows 用のプリンタドライバによって生成された PostScript を変換の対象としているため、これらのデータのみを扱う限りにおいては脆弱性の影響を受ける可能性は低いと予想しています。その上で、CubePDF 1.0.0RC13 では、入力ファイルがプリンタドライバによって生成された事を保証するために、入力ファイルに対してハッシュ値による確認処理を追加しました。

具体的には、下記のような流れとなります。CubePDF のプリンタモニタはプリンタドライバから PostScript (印刷データ)を受け取ると、このデータを一時ファイルに保存します。この時 CubePDF 1.0.0RC13 では、CubePDF のプリンタモニタが、保存するデータ全体に対して SHA-256 によるハッシュ値を計算し、その結果もあわせて CubePDF メインプログラム (cubepdf.exe) に指定するように修正しました。

ハッシュ値が不一致の場合

CubePDF メインプログラムは、ユーザによって「変換」ボタンが押されると、Ghostscript による変換が実行される直前に再度ハッシュ値を計算し、指定された値と比較します。この時、これらの値が一致しない場合は上記のようなエラーメッセージが表示され、終了します。

尚、今回の脆弱性に対する最終的な対応に関しては、Ghostscript の修正を待つ事となります。Ghostscript のバージョンアップが行われたタイミングで、CubePDF も再度、次バージョンをリリースする予定ですので、しばらくお待ちください。