Update dependency pypdf to v6.13.0 [SECURITY] - #581
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
6.5.0→6.13.0pypdf has possible long runtimes for missing /Root object with large /Size values
CVE-2026-22690 / GHSA-4xc4-762w-m6cg
More information
Details
Impact
An attacker who exploits this vulnerability can craft a PDF which leads to possibly long runtimes for actually invalid files. This can be achieved by omitting the
/Rootentry in the trailer, while using a rather large/Sizevalue. Only the non-strict reading mode is affected.Patches
This has been fixed in pypdf==6.6.0.
Workarounds
Resources
This issue has been fixed in #3594.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:UReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf has possible long runtimes for malformed startxref
CVE-2026-22691 / GHSA-4f6g-68pf-7vhv
More information
Details
Impact
An attacker who exploits this vulnerability can craft a PDF which leads to possibly long runtimes for invalid
startxrefentries. When rebuilding the cross-reference table, PDF files with lots of whitespace characters become problematic. Only the non-strict reading mode is affected.Patches
This has been fixed in pypdf==6.6.0.
Workarounds
Resources
This issue has been fixed in #3594.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:UReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf has possible Infinite Loop when processing outlines/bookmarks
CVE-2026-24688 / GHSA-2q4j-m29v-hq73
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires accessing the outlines/bookmarks.
Patches
This has been fixed in pypdf 6.6.2.
Workarounds
If projects cannot upgrade yet, consider applying the changes from PR #3610.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf has a possible infinite loop when processing TreeObject
CVE-2026-27024 / GHSA-996q-pr4m-cvgq
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires accessing the children of a
TreeObject, for example as part of outlines.Patches
This has been fixed in pypdf==6.7.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3645.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf has possible long runtimes/large memory usage for large /ToUnicode streams
CVE-2026-27025 / GHSA-wgvp-vg3v-2xq3
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes and large memory consumption. This requires parsing the
/ToUnicodeentry of a font with unusually large values, for example during text extraction.Patches
This has been fixed in pypdf==6.7.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3646.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf possibly has long runtimes for malformed FlateDecode streams
CVE-2026-27026 / GHSA-9mvc-8737-8j8h
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires a malformed
/FlateDecodestream, where the byte-by-byte decompression is used.Patches
This has been fixed in pypdf==6.7.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3644.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf has a possible infinite loop when loading circular /Prev entries in cross-reference streams
CVE-2026-27628 / GHSA-2rw7-x74f-jg35
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires reading the file.
Patches
This has been fixed in pypdf==6.7.2.
Workarounds
If users cannot upgrade yet, consider applying the changes from PR #3655.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:UReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Manipulated FlateDecode XFA streams can exhaust RAM
CVE-2026-27888 / GHSA-x7hp-r3qg-r3cj
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to the RAM being exhausted. This requires accessing the
xfaproperty of a reader or writer and the corresponding stream being compressed using/FlateDecode.Patches
This has been fixed in pypdf==6.7.3.
Workarounds
If projects cannot upgrade yet, consider applying the changes from PR #3658.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:UReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Manipulated RunLengthDecode streams can exhaust RAM
CVE-2026-28351 / GHSA-f2v5-7jq9-h8cg
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires parsing the content stream using the RunLengthDecode filter.
Patches
This has been fixed in pypdf==6.7.4.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3664.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf vulnerable to inefficient decoding of ASCIIHexDecode streams
CVE-2026-28804 / GHSA-9m86-7pmv-2852
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires accessing a stream which uses the
/ASCIIHexDecodefilter.Patches
This has been fixed in pypdf==6.7.5.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3666.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: manipulated stream length values can exhaust RAM
CVE-2026-31826 / GHSA-hqmh-ppp3-xvm7
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires parsing a content stream with a rather large
/Lengthvalue, regardless of the actual data length inside the stream.Patches
This has been fixed in pypdf==6.8.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3675.
As far as we are aware, this mostly affects reading from buffers of unknown size, as returned by
open("file.pdf", mode="rb")for example. Passing a file path or aBytesIObuffer to pypdf instead does not seem to trigger the vulnerability.Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf has inefficient decoding of array-based streams
CVE-2026-33123 / GHSA-qpxp-75px-xjcp
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes and/or large memory usage. This requires accessing an array-based stream with lots of entries.
Patches
This has been fixed in pypdf==6.9.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3686.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible infinite loop during recovery attempts in DictionaryObject.read_from_stream
CVE-2026-33699 / GHSA-87mj-5ggw-8qc3
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires reading a file in non-strict mode.
Patches
This has been fixed in pypdf==6.9.2.
Workarounds
If users cannot upgrade yet, consider applying the changes from PR #3693.
Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:UReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Manipulated XMP metadata entity declarations can exhaust RAM
CVE-2026-40260 / GHSA-3crg-w4f6-42mx
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires parsing the XMP metadata.
Patches
This has been fixed in pypdf==6.10.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3724.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf has long runtimes for wrong size values in cross-reference and object streams
CVE-2026-41168 / GHSA-jj6c-8h6c-hppx
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires cross-reference streams with wrong large
/Sizevalues or object streams with wrong large/Nvalues.Patches
This has been fixed in pypdf==6.10.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3733.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible long runtimes for wrong size values in incremental mode
CVE-2026-41313 / GHSA-4pxv-j86v-mhcw
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires loading a PDF with a large trailer
/Sizevalue in incremental mode.Patches
This has been fixed in pypdf==6.10.2.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3735.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Manipulated FlateDecode predictor parameters can exhaust RAM
CVE-2026-41312 / GHSA-7gw9-cf7v-778f
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to the RAM being exhausted. This requires accessing a stream compressed using
/FlateDecodewith a/Predictorunequal 1 and large predictor parameters.Patches
This has been fixed in pypdf==6.10.2.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3734.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Manipulated FlateDecode image dimensions can exhaust RAM
CVE-2026-41314 / GHSA-x284-j5p8-9c5p
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to the RAM being exhausted. This requires accessing an image using
/FlateDecodewith large size values.Patches
This has been fixed in pypdf==6.10.2.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3734.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible long runtimes for zero-only width values in cross-reference streamsuntimes for zero-only width values in cross-reference streams
CVE-2026-48156 / GHSA-248m-82v9-q6g6
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires cross-reference streams with
/W [0 0 0]values and large/Sizevalues.Patches
This has been fixed in pypdf==6.12.0.
Workarounds
If developers are unable to upgrade their apps immediately, they should consider applying the changes from PR #3791.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible large memory usage for large offsets for layout mode text
CVE-2026-48155 / GHSA-cj93-chg6-vgv8
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires extracting text in layout mode with large character offsets.
Patches
This has been fixed in pypdf==6.12.0.
Workarounds
If developers are unable to immediately upgrade, they should consider applying the changes from PR #3790.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Manipulated XMP metadata streams can exhaust RAM
CVE-2026-48735 / GHSA-wjqc-6w8f-h24c
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires parsing large XMP metadata, possibly with lots of unnecessary elements.
Patches
This has been fixed in pypdf==6.12.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3796.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Inefficient decoding of FlateDecode PNG predictor streams
CVE-2026-49460 / GHSA-5hgr-hg42-57jg
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires accessing a stream which uses the
/FlateDecodefilter with a PNG predictor.Patches
This has been fixed in pypdf==6.12.2.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3806.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible large memory usage for form XObjects during text extraction
CVE-2026-49461 / GHSA-j543-4vmf-qm7v
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires extracting the text of a page which contains a form XObject with self-references.
Patches
This has been fixed in pypdf==6.12.2.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3805.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible infinite loop when retrieving fonts for layout-mode text extraction
CVE-2026-54530 / GHSA-52x6-gq3r-vpf4
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires extracting the text in layout mode.
Patches
This has been fixed in pypdf==6.13.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3830.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible infinite loop when processing outlines/bookmarks in writer
CVE-2026-54531 / GHSA-m2v9-299j-rv96
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires merging a file with outlines into a writer.
Patches
This has been fixed in pypdf==6.13.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3830.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
py-pdf/pypdf (pypdf)
v6.13.0Compare Source
Security (SEC)
Full Changelog
v6.12.2Compare Source
Security (SEC)
Full Changelog
v6.12.1Compare Source
Security (SEC)
Full Changelog
v6.12.0Compare Source
Security (SEC)
Robustness (ROB)
Full Changelog
v6.11.0Compare Source
New Features (ENH)
Robustness (ROB)
Developer Experience (DEV)
Full Changelog
v6.10.2Compare Source
Security (SEC)
Full Changelog
v6.10.1Compare Source
Security (SEC)
Full Changelog
v6.10.0Compare Source
Security (SEC)
Robustness (ROB)
Documentation (DOC)
Full Changelog
v6.9.2Compare Source
Security (SEC)
Robustness (ROB)
Full Changelog
v6.9.1Compare Source
Security (SEC)
Robustness (ROB)
Full Changelog
v6.9.0Compare Source
Security (SEC)
Full Changelog
v6.8.0Compare Source
New Features (ENH)
Performance Improvements (PI)
Bug Fixes (BUG)
Full Changelog
v6.7.5Compare Source
Security (SEC)
/Lengthvalue of stream (#3675)New Features (ENH)
Documentation (DOC)
PageObject.replace_contentson PdfReader (#3669)Full Changelog
v6.7.4Compare Source
Security (SEC)
Full Changelog
v6.7.3Compare Source
Security (SEC)
Robustness (ROB)
Full Changelog
v6.7.2Compare Source
Security (SEC)
Full Changelog
v6.7.1Compare Source
Security (SEC)
Bug Fixes (BUG)
/Pages(#3650)Full Changelog
[
v6.7.0](https://redirect.github.coConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.