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

pypdfに無限ループ・メモリ使い切りの欠陥5件 受け取ったPDFの処理は6.21.2へ

PythonでPDFを読むライブラリpypdfの欠陥5件が、10月21日にGitHubの勧告のデータベースに載りました。細工したPDFで処理が止まらなくなったり、メモリを使い切ったりするもので、6.20.0〜6.21.1で直っています。21日に出た6.21.2にもセキュリティの修正があります。請求書の読み取りやAIの文書の取り込みなど、受け取ったPDFを自動で読む仕組みの確かめ方を整理します。

公開 情シスのミカタ編集部AIにより執筆チェック済み
文字
pypdfに無限ループ・メモリ使い切りの欠陥5件 受け取ったPDFの処理は6.21.2へ

この記事のまとめ

  • PythonでPDFを読み書きするライブラリpypdfの欠陥5件(CVE-2026-113792〜113795、113786)が、10月21日にGitHubの勧告のデータベースに載りました。Mediumが4件、Lowが1件です。
  • 細工したPDFを読ませると、処理が終わらなくなったり、メモリを使い切ったりします。修正は6.20.0、6.20.1、6.21.1に分かれていて、10月21日に出た最新の6.21.2にも、セキュリティの修正が入っています。
  • 社外から受け取ったPDFを自動で読む仕組み(請求書の読み取り、AIへの文書の取り込み、ファイルの変換など)にpypdfが入っていないかを確かめ、6.21.2以降に上げます。
こんな方に#20代#30代#40代#50代実務

PythonでPDFを読み書きするライブラリ「pypdf」の欠陥5件が、10月21日にGitHubの勧告のデータベースに載りました。細工したPDFを読ませると、処理が終わらなくなったり、メモリを使い切ったりするものです。請求書の読み取り、AIへの文書の取り込み、ファイルの変換など、社外から受け取ったPDFを自動で読む仕組みで使われていることがあります。修正版はすでに出ています。

10月21日に載った5件

CVE 深刻度(GitHub) 中身 直った版
CVE-2026-113795 Medium(CVSS 4.0で6.0) 複数の圧縮の方式を重ねたデータで、メモリを大量に使う 6.20.0
CVE-2026-113794 Medium(6.0) 相互参照の表(xref)の途中でファイルが終わると、処理が終わらない 6.20.0
CVE-2026-113792 Medium(6.0) 書き出しの機能(PdfWriter)で目次の項目を探すと、処理が終わらない 6.20.1
CVE-2026-113793 Medium(6.0) 目次などの木の形のデータから項目を消すと、処理が終わらない 6.20.1
CVE-2026-113786 Low 画像のJPEGのデータを、確かめずに読み込む 6.21.1

勧告はどれも、攻撃者が細工したPDFを用意することを前提にしています。CVE-2026-113792と113793は、目次を探したり消したりする特定の機能を使ったときだけ起きます。影響は、処理が止まる・資源を使い切る(可用性)に限られ、情報が漏れることは挙げられていません。

pypdfは10月1日にも、長い処理時間やメモリの大量使用につながるHighの5件(CVE-2026-102996〜103000、6.18.1・6.19.0で修正)を公表しています。秋に入って、同じ型の修正が続いています。

最新は6.21.2、セキュリティの修正も

pypdfは10月21日に6.21.2を出しました。リリースノートには、セキュリティの修正として、ファイルを何度も丸ごと読み込み直すのを避ける修正と、相互参照の表の大きさに上限を設ける修正が書かれています。この2つは、10月22日朝の時点で、勧告としては載っていません。

GitHubのpypdf 6.21.2のリリースノート。セキュリティ(SEC)として、ファイル全体を何度も読み込むのを避ける修正と、標準の相互参照の表の大きさに上限を設ける修正。不具合の修正(BUG)として、UniGB-UTF16のCMapの読み方、8ビットのDeviceRGBの画像の扱い、ページの結合のときに注釈の四角形をすべて残す修正が並ぶ
pypdf 6.21.2のリリースノート(英語)。セキュリティの修正が2つ出典: py-pdf「pypdf 6.21.2」(GitHub)(引用)

6.21.1では、PDFの中のJPEGの画像を、Pillowという画像のライブラリのJPEGの部品だけで開くように変えています(CVE-2026-113786の修正)。pypdfはPDFから画像を取り出すときなどにPillowを使うため、Pillowの更新もあわせて確かめます。Pillowも10月に、受け取った画像で起きる欠陥を多く直しています(Pillow 13.0.0でセキュリティ修正38項目 JPEGに重大な欠陥)。

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

  • 影響する: 社外から受け取ったPDFを、Pythonの仕組みで自動で読んでいる会社です。請求書や申込書の読み取り、文書の検索やAIへの取り込み、ファイルの変換の仕組みなどが当たります。
  • 影響する: PDFを扱う社内の道具や、購入した製品の中でpypdfが使われている会社です。直接入れた覚えが無くても、ほかのライブラリが使っていることがあります。
  • 影響しない(少ない): 自社で作ったPDFだけを扱い、社外のファイルを読まない仕組みです。ただし、版は上げておくに越したことはありません。

情シスが今日やること

  1. pypdfを使う仕組みを洗い出す。 開発の担当に、PythonでPDFを扱う仕組みを挙げてもらい、依存しているライブラリの一覧(requirements.txt、poetry.lockなど)でpypdfの版を確かめます。
  2. 6.21.2以降に上げる。 5件は6.21.1までで直っていますが、6.21.2にも修正があるため、6.21.2以降に上げます。画像を扱う場合は、Pillowも13.0.0以降に上げます。
  3. 処理に時間と量の上限をかける。 受け取ったPDFを読む処理に、1件あたりの時間の上限とメモリの上限をかけ、超えたら止めて次の書類に進む作りにします。1つの細工したファイルで、全体が止まるのを防げます(当社の見立て)。
  4. 購入した製品は、提供元に聞く。 PDFを読む機能を持つ製品で、中にpypdfが使われているかと、更新の予定を、提供元に問い合わせます。

よくある質問

Q情報が漏れたり、乗っ取られたりする欠陥ですか。

A今回の5件は、処理を止めたり、資源を使い切らせたりするもので、勧告はどれも、使えなくなる(可用性)への影響だけを挙げています。ただし、受け取ったPDFを自動で読む仕組みでは、細工したファイル1つで処理の担当(ワーカー)が止まり、ほかの書類の処理が滞るおそれがあります。

Qどの版に上げればよいですか。

A5件は6.21.1までにすべて直っています。10月21日に出た6.21.2には、ファイルを何度も読み込み直すのを避ける修正と、相互参照の表の大きさに上限を設ける修正も入っているため、6.21.2以降が近道です。

Qpypdfを直接使っていなくても関係しますか。

Aほかのライブラリや製品の中で、pypdfが使われていることがあります。PDFを扱うPythonの仕組み(文書の検索、AIの取り込みの道具など)は、依存しているライブラリの一覧でpypdfの版を確かめます。

出典・参考

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

執筆

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

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

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

監修

佐々木 航株式会社Game

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

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

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

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