本文へ移動
情シスのミカタ
ニュース約4分で読めます

Pillow 13.0.0でセキュリティ修正38項目 JPEGに重大な欠陥

Pythonの画像処理ライブラリPillowの13.0.0で、セキュリティの修正が38項目ありました。GitHubは10月20日、JPEGの縮小の処理のバッファ超過(CVE-2026-112403)をCVSS 9.2の「Critical」と評価しています。対象は12.3.0以前で、12系の修正版はありません。社内のシステムでの確かめ方を整理します。

公開 情シスのミカタ編集部AIにより執筆チェック済み
文字
Pillow 13.0.0でセキュリティ修正38項目 JPEGに重大な欠陥

この記事のまとめ

  • Pillowの13.0.0(10月16日)のリリースノートには、セキュリティの修正が38項目並びます。Pillowの評価はCriticalが2項目、Highが13項目です。
  • GitHubは10月20日、JPEGの縮小の処理で起きるバッファ超過(CVE-2026-112403)をCVSS 9.2の「Critical」と評価しました。画像の縮小版を作る処理が当たります。
  • 対象は12.3.0以前で、直った版は13.0.0です。13.0.0はPython 3.10に対応しないため、更新の前に動く環境を確かめます。
こんな方に#20代#30代#40代#50代実務

Pythonで画像を扱うときによく使われるライブラリ「Pillow」が、10月16日に13.0.0を出しました。リリースノートには、セキュリティの修正が38項目並びます。GitHubのAdvisory Databaseは10月20日、そのうちJPEGの縮小の処理のバッファ超過(CVE-2026-112403)を、CVSS 4.0で9.2の「Critical」と評価しました。

Pillowは、Webサイトで上げた画像の縮小版を作る処理や、文書の取り込み、AIの前処理などで広く使われます。社内のシステムや委託先が作ったアプリに、知らないうちに入っていることもあります。この記事の内容は、10月21日にGitHubの勧告とPillowのリリースノートで確かめたものです。

13.0.0のセキュリティの修正は38項目

Pillowの13.0.0(2026-10-16)のリリースノートの画面。Securityの見出しの下に、CVEの番号は決まり次第足すとの注記。Criticalに2項目(モードを変えたあとの古い画像の領域の再利用、JPEGの読み込みのバッファ超過)、Highに13項目(WMF・EMF、SPIDER、Exif、JPEGのコメント、TIFF、PDF、同梱のOpenJPEGなど)、その下にMediumの一覧の始まり
Pillow 13.0.0のリリースノートのセキュリティの一覧(CriticalとHighの部分)出典: Pillow「13.0.0 (2026-10-16) Release notes」(引用)

Pillowのリリースノートは、セキュリティの修正を深刻度ごとに分けています。1つの項目に複数の勧告がまとまったものもあり、勧告の番号(GHSA)では42件です。CVEの番号は、決まり次第足すとしています。

Pillowの評価 項目の数 主な中身
Critical 2 モードを変えたあとの古い画像の領域の再利用、JPEGの読み込みのバッファ超過
High 13 WMF・EMF、TIFF、PDF、JPEGの書き込みなど、形式ごとの範囲外の読み書きや資源の使い切り
Medium 20 展開の爆弾の確かめの抜け、PDFやGIFの処理の時間の膨張、EPSの引数の差し込みなど
Low 3 GIFやEPSの展開の爆弾の確かめの抜け、ImageMorphの範囲外の書き込み

範囲外の読み書きやメモリの使い切りなど、細工したファイルを読み込ませると、プロセスが落ちたり、メモリが壊れたりする種類が中心です。

GitHubが「Critical」とした JPEGの縮小の処理

GitHub Advisory Databaseの画面。題はPillow: Heap buffer overflow in ImagingJpegDecode、Critical severity、GitHub Reviewed。パッケージPillow(pip)、対象の版は12.3.0以前、修正版は13.0.0。説明の冒頭に、Image.thumbnail()が自動で呼ぶJpegImageFile.draft()が縮小した出力を求める仕組みの説明。右にCVSS v4の9.2
GitHubの勧告(CVE-2026-112403)。対象は12.3.0以前、修正版は13.0.0出典: GitHub Advisory Database「GHSA-8g5g-8vmr-9782」(引用)

GitHubの勧告によると、CVE-2026-112403は、JPEGの画像を縮小して読み込む処理のバッファ超過です。

  • Image.thumbnail()は、読み込む前にdraft()で、1/2・1/4・1/8に縮小して読むよう指示します。
  • 可逆圧縮の(lossless)JPEGでは、使う部品のlibjpeg-turbo 3系が縮小を受け付けず、元の幅のまま行を返します。
  • Pillowは縮小した幅の分しか領域を取っていないため、その外に書き込んでしまいます。

勧告は、Pillowの公式の配布物(wheel)に入っているlibjpeg-turbo 3.0以上で起きるとしています。libjpeg-turbo 2系や、IJGのlibjpegで作ったものは対象外です。画像は規格どおりのJPEGなので、形式をJPEGに限っても防げないとしています。

一方で、open()のあとload()で読み込む処理や、resize()は影響を受けません。すぐに上げられない場合の回避策として、thumbnail()の前にload()を呼ぶか、thumbnail()にreducing_gap=Noneを渡す方法を挙げています。深刻度は、CVSS 4.0で9.2です。

もう1件のCVE-2026-112397は、幅が0の画像をImageMorph.MorphOp.apply()に渡すと、範囲外に書き込む不具合です。Pillowの評価はLowですが、GitHubはCVSS 4.0で8.7の「High」としました。信頼できない画像に形態の処理をかけるアプリが当たり、プロセスが落ち、メモリが壊れる恐れがあるとしています。

12系の修正版は無い Python 3.10は対象外に

2件の勧告とも、対象は12.3.0以前、直った版は13.0.0です。12系の修正版は示されていません。

13.0.0は、Python 3.10への対応をやめました。PyPIの情報では、Python 3.11以上が必要です。Python 3.10で動いているシステムは、Pillowだけを上げることはできず、Pythonの版から上げる必要があります。

13.0.0では、使われなくなった機能の削除もあります。更新の前に、リリースノートの削除と非推奨の一覧を開発の担当者に見てもらいます。

影響する会社・しない会社

  • 影響する: Pillowの12.3.0以前を使い、外から受け取った画像を扱うシステムがある会社です。とくに、上げられた画像の縮小版を作る処理があるWebサイトや業務システムは、CVE-2026-112403の対象です。
  • 影響する: Python 3.10で動くシステムでPillowを使っている会社です。13.0.0へ上げるには、Pythonの版から上げる必要があります。
  • 影響しない: Pillowを使っていない会社です。ただし、ほかのライブラリの土台として入ることがあるため、一覧で確かめてから判断します。

情シスが今日やること

  1. 社内のシステムと、委託先が作ったアプリで、Pillowが入っているかを確かめます。開発の担当者や委託先に、pip show pillow や依存関係の一覧(requirements.txt、ロックファイル、SBOM)を見てもらいます。
  2. 入っていれば、版が12.3.0以前かを確かめます。コンテナの中のPythonや、サーバーに直接入れたものも含めます。
  3. 外から受け取った画像の縮小版を作る処理があるかを、開発の担当者に確かめてもらいます。あれば、13.0.0への更新を先に進めます。すぐに上げられないときは、勧告の回避策(thumbnail()の前のload())を入れられるかを相談します。
  4. Python 3.10で動いているシステムは、Pythonの版を上げる計画を立てます。上げるまでの間は、画像を受け取る入口を絞れるかを確かめます。
  5. 更新したあとは、画像の取り込みや縮小版の作成が今までどおり動くかを確かめ、作業記録に版を残します。

よくある質問

Q画像を開くだけで危ないのですか。

ACVE-2026-112403の勧告では、Image.thumbnail()など、読み込む前に縮小のdraft()を使う処理が当たるとしています。open()のあとload()で読み込む処理や、resize()は影響を受けないとしています。

Q12系の修正版はありますか。

AGitHubの勧告では、対象は12.3.0以前で、修正版は13.0.0だけです。12系の修正版は示されていません。

Q悪用されていますか。

A勧告とリリースノートには、悪用の有無は書かれていません。米CISAの悪用が確認された脆弱性の一覧(KEV)には、10月21日時点で載っていません。

出典・参考

チェック済み。この記事は監修者によってチェックされました。(2026年10月21日)

執筆

情シスのミカタ編集部AIにより執筆

書いた AI: AI記者(解説)

法令・官公庁の発表・企業の公式発表などの一次情報を調べて、情シス向けの解説・比較・テンプレの記事を書きます。数字と日付は出典と照らして確かめ、記事の最後に出典を載せています。使っているAI: Anthropic Claude。

監修

佐々木 航株式会社Game

代表取締役。工学部出身で、21歳で起業してからシステム会社の経営一筋で8期目。アプリの受託開発から始め、いまはAIを使ったシステムソリューションを手がけています。150社以上の企業とのプロジェクトで培った開発と情報システムの現場の経験と声を形にし、激動の時代を乗り越えたいと考えています。

メモ: 掲載時に自動で(しばらくの間)

記事は AI が一次情報を調べて書き、機械の検査を通してから公開しています。人が見ているもの・見ていないものはAI の使い方に書いています。まちがいに気づいたら訂正・ご指摘からお知らせください。直したら、記事の最後に何を直したかを書きます。

役に立ったら、いいねと共有をお願いします