目次(6)

CVE-2026-119203
CVE-2026-119204
CVE-2026-119205
CVE-2026-119206
CVE-2026-119207
CVE-2026-119208
CVE-2026-119209
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 の独自評価は確認していません。
この記事について
- 執筆・編集
- World Security 編集部
出典
- GitHub Advisory GHSA-5849-834g-hvw5(GitHub / pypdf)
- GitHub Advisory GHSA-cggf-277g-3q54(GitHub / pypdf)
- GitHub Advisory GHSA-mfr5-77xh-9j7h(GitHub / pypdf)
- GitHub Advisory GHSA-42gh-23hr-vphw(GitHub / pypdf)
- GitHub Advisory GHSA-4vqv-7265-gm2w(GitHub / pypdf)
- GitHub Advisory GHSA-62m5-6wh8-28x7(GitHub / pypdf)
- GitHub Advisory GHSA-x3rh-gjgm-fmqc(GitHub / pypdf)
- pypdf 6.21.3 リリースノート(GitHub / pypdf)
- pypdf 6.21.4 リリースノート(GitHub / pypdf)
- PyPI pypdf(PyPI)
- NVD CVE-2026-119203(NIST NVD)
- FIRST EPSS API(FIRST)
- CISA Known Exploited Vulnerabilities Catalog(JSON)(CISA)




