---
id: CVE-2026-113794
aliases:
  - GHSA-39mj-jf6j-2qj3
title: 'pypdf: Possible infinite loop when hitting EOF in standard xref table'
summary: 'pypdf: Possible infinite loop when hitting EOF in standard xref table'
severity: medium
cvss: 6
cwe:
  - CWE-835
vendor: pypdf
product: pypdf
ecosystem: pip
affected:
  - pypdf < 6.20.0
patched:
  - pypdf 6.20.0
published: '2026-10-21'
updated: '2026-10-21'
sourceUpdated: '2026-10-21T16:54:46Z'
source: GHSA
sourceUrl: 'https://github.com/advisories/GHSA-39mj-jf6j-2qj3'
references:
  - url: 'https://github.com/py-pdf/pypdf/security/advisories/GHSA-39mj-jf6j-2qj3'
  - url: 'https://github.com/py-pdf/pypdf/issues/4169'
  - url: 'https://github.com/py-pdf/pypdf/pull/4170'
  - url: >-
      https://github.com/py-pdf/pypdf/commit/37e1cd681744bac38b159f7e1c614eee8d639c58
  - url: 'https://github.com/py-pdf/pypdf/releases/tag/6.20.0'
  - url: 'https://github.com/advisories/GHSA-39mj-jf6j-2qj3'
tags:
  - ghsa
  - pip
  - cve.org
cvssVector: 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'
cvssSource: cna
ingestedAt: '2026-10-21T16:05:17.682Z'
---

## Overview

### Impact

An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires an incomplete file which ends inside the xref table.

### Patches

This has been fixed in [pypdf==6.20.0](https://github.com/py-pdf/pypdf/releases/tag/6.20.0).

### Workarounds

If you cannot upgrade yet, consider applying the changes from PR [#4170](https://github.com/py-pdf/pypdf/pull/4170).

### Notes

This has been reported through both the secure channel and as a public issue at [#4169](https://github.com/py-pdf/pypdf/issues/4169).

## Affected packages

- `pypdf < 6.20.0`

## Remediation

Upgrade to a patched release:

- `pypdf 6.20.0`
