MEDIUM
GHSA-23w6-3w8w-8484
pypdf: Possible long runtimes/large memory usage when retrieving outlines
Quick fix
GHSA-23w6-3w8w-8484 — pypdf: upgrade to the fixed version with the command below.
pip install --upgrade 'pypdf>=6.16.1'Details
### Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes and large memory consumption. This requires accessing the outlines of a document with either lots of entries or nested outlines with long re-used nesting paths.
### Patches
This has been fixed in [pypdf==6.16.1](https://github.com/py-pdf/pypdf/releases/tag/6.16.1).
### Workarounds
If you cannot upgrade yet, consider applying the changes from PR [#3966](https://github.com/py-pdf/pypdf/pull/3966).
Are you affected?
Enter the version of the package you're using.
Affected packages
References
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-23w6-3w8w-8484[WEB]
- https://github.com/py-pdf/pypdf/pull/3966[WEB]
- https://github.com/py-pdf/pypdf/commit/d91ab705fd81ed1a9cec175c6958600dea1a4942[WEB]
- https://github.com/py-pdf/pypdf[PACKAGE]
- https://github.com/py-pdf/pypdf/releases/tag/6.16.1[WEB]