ファイルの内容ではなくファイル名によって、最近修正されたPillowの脆弱性を通じて、Pythonアプリケーションがコマンド実行にさらされる可能性がある。
CVE-2026-112900として追跡されているこの欠陥は、Pillowが画像処理のためにEncapsulated PostScript(EPS)のファイル名をGhostscriptへ渡す方法に影響する。2026年10月16日にリリースされたPillow 13.0.0では、この脆弱性と、TIFFおよびJPEGファイルに関係する2件のメモリ破損問題が修正された。
信頼できないEPSファイルを処理するアプリケーションは、攻撃者がGhostscriptに渡されるファイル名を操作できる場合、影響を受ける可能性がある。攻撃に成功すると、影響を受けたプロセスの権限でコマンドを実行されるおそれがあるが、悪用には追加の条件が必要だ。
Pillowの欠陥がコード実行を可能にする仕組み
Pillowのセキュリティアドバイザリでは、2.6.0から12.3.0までのバージョンを影響を受けるものとしている。この脆弱性は、PIL.EpsImagePlugin.Ghostscript()ファイル名をGhostscriptに渡す処理で発生し、コマンドライン引数として解釈される文字を適切に処理していない。
ハイフンで始まるファイル名は、ファイルパスではなくGhostscriptのコマンドラインオプションとして解釈される可能性がある。Ghostscriptはさらに@引数ファイルにも対応しており、追加のオプションを指定できる。該当するファイル名と参照される引数ファイルを攻撃者が制御できれば、こうした挙動を悪用してコマンドを実行できる。
KAISTのCysecLabに所属するセキュリティ研究者のChanu Kang氏は、Ghostscriptのデフォルトの-dSAFER保護が有効な状態でもコマンドを実行できることを実証した。悪用にはGhostscript、EPS処理、攻撃者によるファイル名の操作、そして参照される引数ファイルの制御が必要になる。
GitHub Advisory Databaseは、CVE-2026-112900にCriticalのCVSS 4.0スコア9.2を割り当てている。一方、PillowのメンテナーはModerateと評価している。
最近のNGINXのセキュリティ脆弱性でも、影響を受けるソフトウェアのバージョンだけでなく、特定の設定を管理者が確認する必要があった。
Pillow 13.0.0では、以下の2件のメモリ破損脆弱性にも対処している。
- CVE-2026-112393:、TIFFのヒープバッファオーバーフロー。メモリ上のオブジェクトに保存された特定の圧縮TIFFファイルに関係し、メモリ破損や情報漏えいを引き起こす可能性がある。
- CVE-2026-112403:、JPEGデコードの欠陥。特定のlibjpeg設定で、
draft()またはthumbnail()を介して処理される、細工した特殊なロスレス画像に影響する。クラッシュやコード実行の可能性がリスクとして挙げられる。
影響範囲の確認と緩和策の優先順位
セキュリティチームは、アプリケーション、コンテナ、依存関係全体にわたるPillowのインストール状況を調べ、信頼できないEPSファイルを処理するワークロードを特定すべきだ。Ghostscriptの有無とファイル名の処理方法によって、CVE-2026-112900への露出度が決まる。
同じく影響範囲に基づくアプローチは、10月の脆弱性パッチの優先順位付けにも役立つ。そこでは、インストール済みコンポーネントと悪用可能性が対処方針に影響する。
組織は以下の対策を講じるべきだ。
- Pillowをアップグレード:バージョン13.0.0以降を導入し、影響を受けるコンテナを再構築する。
- Ghostscriptを監査:攻撃者が制御するファイル名を保持したままEPSを処理するワークロードを特定する。
- ファイル処理を制限:不要な形式を無効にし、外部ツールを呼び出す前にファイル名を正規化する。
- 処理サービスを分離:サンドボックス化と最小権限のアカウントを使用し、被害の拡大を抑える。
- 関連ワークフローを確認:圧縮TIFFのエンコードと、ロスレスJPEGのダウンスケーリング設定を確認する。
- 異常を調査:予期しないGhostscriptのサブプロセス、通常とは異なるクラッシュ、疑わしいファイル処理活動を調べる。
- インシデント対応計画をテスト:封じ込め、証拠保全、復旧の手順を検証する。
最近のSiteGuardのコマンドインジェクション悪用は、侵害が疑われる場合、修復に着手する前にフォレンジック証拠を保全する重要性を浮き彫りにしている。
The Pillow 13.0.0のリリースノートでは、修正内容とPython 3.10のサポート終了が確認できる。10月26日時点で、GitLabは、複数のDebianおよびSUSEディストリビューションに含まれる影響を受けたPillowパッケージには依然として修正が適用されておらず、Amazon Linuxのパッケージは更新待ちだと報告していた。組織は、導入前にディストリビューション固有のアドバイザリとランタイムの互換性を確認すべきだ。
影響を受ける環境にパッチを適用するまでの間、EPS処理を制限し、画像処理サービスを分離することで、悪用される可能性と想定される影響を抑えられる。
関連記事:修正の優先順位について詳しく知るには、Microsoftの9月のセキュリティ更新を参照するとよい。実際に悪用されたことが確認された脆弱性によって、どの脆弱性を優先して対処すべきかが変わることが分かる。





