---
title: "pypdf 6.21.4 より前、細工した PDF で無限ループ・メモリ大量消費を起こす DoS が 7 件（CVE-2026-119203〜119209、High）"
url: https://n-t-p.io/worldsecurity/articles/pypdf-seven-dos-cves-2026-119203
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年10月31日
updated: 2026年10月31日
severity: 高
cve: CVE-2026-119203, CVE-2026-119204, CVE-2026-119205, CVE-2026-119206, CVE-2026-119207, CVE-2026-119208, CVE-2026-119209
---

# pypdf 6.21.4 より前、細工した PDF で無限ループ・メモリ大量消費を起こす DoS が 7 件（CVE-2026-119203〜119209、High）

> **TL;DR:** pypdf 6.21.4 未満に、細工した PDF で無限ループ・長時間処理・大量のメモリ消費を起こす DoS が 7 件（CVE-2026-119203〜119209、High、CVSS v4.0 は 7.1）。6.21.4 で全件修正。KEV 掲載なし、EPSS 約 0.3%。

**要点**
- 7 件とも信頼できない PDF を処理するときの DoS（無限ループ 2 件、処理時間 1 件、メモリ 4 件）。影響は可用性のみ
- 6.21.4 に更新すれば全件解消（119206〜119209 は 6.21.3 で修正済み）
- 更新できない間は、PDF のサイズ・処理時間・メモリの上限を設ける
- KEV 掲載なし、EPSS 0.27〜0.30%（10/31 時点）。悪用の報告は見当たらない

Python の PDF ライブラリ pypdf に、細工した PDF で無限ループ・長時間の処理・大量のメモリ消費を起こすサービス拒否（DoS）の脆弱性が 7 件（CVE-2026-119203〜119209）公開されました。GitHub の勧告はいずれも重大度 High で、NVD に載っている GitHub 評価の CVSS v4.0 は 7 件とも 7.1 です。6.21.3 または 6.21.4 で修正されており、最新の 6.21.4 に上げれば 7 件すべてが解消します。CISA の KEV には載っていません。EPSS は 0.27〜0.30%（10 月 31 日時点）です。

## 何が問題か

どれも、細工した PDF を読み込む・特定の操作をすると、CPU やメモリを使い切るタイプです。勧告が示す条件は次のとおりです。

| CVE | 内容 | 修正版 |
|---|---|---|
| CVE-2026-119203 | `trailer` のない不完全なファイルを開くと無限ループになる（標準の xref テーブル読み取り中に EOF を検出できない） | 6.21.4 |
| CVE-2026-119204 | 共有リソースが多いページツリーを読むと、メモリを大量に使う | 6.21.4 |
| CVE-2026-119205 | `DictionaryObject` の複製で無限ループになる | 6.21.4 |
| CVE-2026-119206 | ページラベルを取得すると処理時間が長くなる | 6.21.3 |
| CVE-2026-119207 | 不正な辞書を読み込むと、メモリを大量に使う（strict モードの例外メッセージが原因） | 6.21.3 |
| CVE-2026-119208 | 暗号化 PDF で、誤った `/Count` を宣言したファイルのページ数を取得すると、処理時間・メモリが膨らむ | 6.21.3 |
| CVE-2026-119209 | クロスリファレンスストリームを持つファイルを開くと、メモリを大量に使う | 6.21.3 |

NVD の CVSS v4.0 ベクタは 7 件とも AV:N/AC:L/AT:N/PR:N/UI:P で、影響は可用性（VA:H）だけです。UI:P は、利用者側のアプリが PDF を開く・処理する操作が要ることを示します。

## 影響を受ける条件

信頼できない相手の PDF（アップロード、メール添付、外部から取り込んだ文書など）を pypdf で処理しているサービスやスクリプトです。各勧告は「この操作を行う場合」という条件付きなので、実際に影響するかは、使っている機能（ページ数の取得、ページラベル、暗号化 PDF の読み取りなど）で変わります。

## 数値で見る

| 項目 | 内容 |
|---|---|
| 重大度（GitHub 勧告） | 7 件とも High |
| CVSS v4.0（NVD に載る GitHub 評価） | 7 件とも 7.1 |
| EPSS（2026-10-31） | 119203〜119208: 0.30%、119209: 0.27% |
| CISA KEV | 掲載なし |
| 弱点の種類 | CWE-835（119203・119205）、CWE-400（119204・119206）、CWE-400 と CWE-405（119207）、CWE-400 と CWE-770（119208・119209） |

## 対象と修正版

| 対象 | 修正版 |
|---|---|
| pypdf 6.21.4 未満（119203・119204・119205） | 6.21.4 |
| pypdf 6.21.3 未満（119206〜119209） | 6.21.3 |

PyPI の最新版は 6.21.4（10 月 29 日 JST 公開）です。6.21.3（10 月 27 日 JST 公開）と 6.21.4 のリリースノートの「Security」欄に、各勧告が示す修正の PR（#4251・#4265・#4269・#4270、#4288・#4289・#4290）が載っています。勧告の公開は 10 月 31 日 8 時台（JST）で、修正版の公開が数日先でした。

## 対応の考え方

- pypdf を 6.21.4 以降へ更新してください。`pip show pypdf` で版を確認できます。
- すぐ更新できない間は、外部から受け取る PDF のサイズ上限、処理の時間制限、メモリ上限（ワーカーの制限など）を設けてください。勧告は暫定策として、各修正の PR の変更を取り込む方法も案内しています。
- 他のライブラリ経由で pypdf が入っている場合もあるので、依存関係を確認してください。

## 確認できていない点

- 実環境での悪用の報告は、GitHub 勧告・KEV のいずれにも見当たりません。
- 勧告にある再現ファイルは手元では実行していません。
- CVSS v3.1 は付いていません。v4.0 は GitHub 評価で、NVD の独自評価は確認していません。


## 出典
- [GitHub Advisory GHSA-5849-834g-hvw5](https://github.com/py-pdf/pypdf/security/advisories/GHSA-5849-834g-hvw5) — GitHub / pypdf
- [GitHub Advisory GHSA-cggf-277g-3q54](https://github.com/py-pdf/pypdf/security/advisories/GHSA-cggf-277g-3q54) — GitHub / pypdf
- [GitHub Advisory GHSA-mfr5-77xh-9j7h](https://github.com/py-pdf/pypdf/security/advisories/GHSA-mfr5-77xh-9j7h) — GitHub / pypdf
- [GitHub Advisory GHSA-42gh-23hr-vphw](https://github.com/py-pdf/pypdf/security/advisories/GHSA-42gh-23hr-vphw) — GitHub / pypdf
- [GitHub Advisory GHSA-4vqv-7265-gm2w](https://github.com/py-pdf/pypdf/security/advisories/GHSA-4vqv-7265-gm2w) — GitHub / pypdf
- [GitHub Advisory GHSA-62m5-6wh8-28x7](https://github.com/py-pdf/pypdf/security/advisories/GHSA-62m5-6wh8-28x7) — GitHub / pypdf
- [GitHub Advisory GHSA-x3rh-gjgm-fmqc](https://github.com/py-pdf/pypdf/security/advisories/GHSA-x3rh-gjgm-fmqc) — GitHub / pypdf
- [pypdf 6.21.3 リリースノート](https://github.com/py-pdf/pypdf/releases/tag/6.21.3) — GitHub / pypdf
- [pypdf 6.21.4 リリースノート](https://github.com/py-pdf/pypdf/releases/tag/6.21.4) — GitHub / pypdf
- [PyPI pypdf](https://pypi.org/pypi/pypdf/json) — PyPI
- [NVD CVE-2026-119203](https://nvd.nist.gov/vuln/detail/CVE-2026-119203) — NIST NVD
- [FIRST EPSS API](https://api.first.org/data/v1/epss?cve=CVE-2026-119203,CVE-2026-119204,CVE-2026-119205,CVE-2026-119206,CVE-2026-119207,CVE-2026-119208,CVE-2026-119209) — FIRST
- [CISA Known Exploited Vulnerabilities Catalog（JSON）](https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/pypdf-seven-dos-cves-2026-119203