chore(deps): update dependency pypdf to v6 [security] - autoclosed #906
Closed
renovate-bot
wants to merge 1 commit from
renovate/pypi-pypdf-vulnerability into main
pull from: renovate/pypi-pypdf-vulnerability
merge into: rbrooks:main
rbrooks:main
rbrooks:feat/1328-fill-it-in
rbrooks:feat/1328-fill-frontend
rbrooks:feat/1328-fill-backend
rbrooks:feat/9-foundry-push
rbrooks:fix/9-foundry-live
rbrooks:feat/9-foundry-push-frontend
rbrooks:renovate/celery-5.x
rbrooks:feat/5-foundry-connect
rbrooks:feat/9-foundry-push-backend
rbrooks:feat/9-foundry-push-module
rbrooks:feat/5-foundry-frontend
rbrooks:feat/5-foundry-backend
rbrooks:feat/5-foundry-module
rbrooks:release/v4.8.0-rc1
rbrooks:docs/d341-convert-draft
rbrooks:feat/958-update-to-version
rbrooks:feat/958-convert-sheet
rbrooks:feat/958-pathbuilder-import-frontend
rbrooks:fix/1360-heading-order
rbrooks:feat/958-pathbuilder-import-backend
rbrooks:feat/11-weekly-digest
rbrooks:feat/1341-auto-update
rbrooks:docs/d332-superseded
rbrooks:chore/1345-names-cleanup
rbrooks:feat/1342-mentioned-pages
rbrooks:feat/1328-recipes
rbrooks:fix/1346-pgdg-key
rbrooks:perf/1247-shared-recording-stream
rbrooks:chore/132-gitleaks-allowlist
rbrooks:release/v4.7.1
rbrooks:spike/foundry-module
rbrooks:release/v4.7.1-rc1
rbrooks:docs/decisions-d332-d337
rbrooks:fix/bot-certifi
rbrooks:chore/release-4.7.0
rbrooks:chore/release-4.7.0-rc4
rbrooks:chore/deps-4.7.0
rbrooks:chore/release-4.7.0-rc3
rbrooks:fix/1280-quote-must-say-it
rbrooks:fix/1257-names-row-squeeze
rbrooks:chore/release-4.7.0-rc2
rbrooks:fix/1245-pg-upgrade-count
rbrooks:chore/release-4.7.0-rc1
rbrooks:feat/1257-names-in-prep
rbrooks:feat/1257-be
rbrooks:feat/1257-fe
rbrooks:feat/1257-rating-fixes
rbrooks:design/1328-fill-it-in
rbrooks:feat/1257-name-splits
rbrooks:fix/1326-redis-503
rbrooks:feat/1280-fact-suggestions
rbrooks:feat/1280-be
rbrooks:feat/1280-fe
rbrooks:design/1280-fact-suggestions
rbrooks:feat/1279-infobox
rbrooks:feat/1279-be
rbrooks:feat/1279-fe
rbrooks:feat/1321-shelf-copies
rbrooks:design/1279-infobox
rbrooks:feat/1243-table-find
rbrooks:feat/1257-who-rated
rbrooks:feat/1243-prep-drawer
rbrooks:feat/1243-sheet-pickers
rbrooks:design/1243-browse-in-place
rbrooks:feat/1315-hotwords-default
rbrooks:feat/1242-system-filters
rbrooks:feat/1257-more-name-styles
rbrooks:feat/506-leg3-hotwords
rbrooks:design/1242-system-filters
rbrooks:fix/1302-packs-polish
rbrooks:feat/1241-rules-library
rbrooks:design/1241-rules-library
rbrooks:feat/1245-postgres-18
rbrooks:integ/4.6.2
rbrooks:fix/1263-map-ui-2
rbrooks:fix/1263-map-server
rbrooks:fix/1263-map-ui-1
rbrooks:fix/1261-editor-link-menu
rbrooks:fix/1229-axe-4.14-name-mismatch
rbrooks:renovate/axllent-mailpit-1.x
rbrooks:renovate/eslint-monorepo
rbrooks:renovate/authlib-1.x
rbrooks:chore/release-4.6.0
rbrooks:chore/release-4.6.0-rc2
rbrooks:fix/460-rc2-screens
rbrooks:fix/460-rc2-server
rbrooks:fix/release-prerelease-exit
rbrooks:chore/release-4.6.0-rc1
rbrooks:feat/125-campaign-templates
rbrooks:feat/126-calendar
rbrooks:feat/1181-pictures-and-files
rbrooks:feat/1190-event-people
rbrooks:integ/4.6.0
rbrooks:feat/1191-line-of-the-night
rbrooks:feat/1200-starter-packs
rbrooks:chore/bot-multidict-and-playwright-group
rbrooks:fix/1202-this-week-answered-count
rbrooks:fix/122-124-leftovers
rbrooks:fix/1178-get-routes-that-write
rbrooks:fix/1203-journeys-check-names
rbrooks:design/125-campaign-templates
rbrooks:feat/126-calendar-engine
rbrooks:design/126-in-world-calendar
rbrooks:fix/1189-cited-stamp-in-range
rbrooks:fix/1189-v4-looser-check
rbrooks:fix/1189-richer-beats
rbrooks:fix/1113-export-bind-lists
rbrooks:fix/1154-release-notes-by-file
rbrooks:chore/release-4.5.0
rbrooks:chore/release-4.5.0-rc12
rbrooks:fix/1135-wiki-markup-as-text
rbrooks:fix/demo-usage-cost-in-window
rbrooks:chore/release-4.5.0-rc11
rbrooks:fix/1121-sheet-consistency
rbrooks:fix/1121-sheet-5e-terms-and-card-hp
rbrooks:copy/1122-busiest-pages
rbrooks:fix/1121-relevant-choices
rbrooks:fix/1121-wiki-create-npc-save-sheet-links
rbrooks:fix/1029-menu-stays-on-screen
rbrooks:docs/prototype-transcript-bin-wording
rbrooks:fix/1023-editor-save-row-back-scroll
rbrooks:fix/1020-search-exact-first
rbrooks:fix/1020-table-prep
rbrooks:fix/1020-shell-wordmark-footer-bell
rbrooks:fix/1020-wiki-article-party
rbrooks:fix/872-admin-kept-until-phone-tables
rbrooks:feat/l13-milestone-level-waiting
rbrooks:fix/1000-1001-bell-older-setup-context
rbrooks:fix/999-pronouns-in-prompts
rbrooks:fix/l19-other-class-feats
rbrooks:fix/1010-transcript-window-ordinary-confirm
rbrooks:docs/d254-d269-decisions
rbrooks:fix/702-member-search
rbrooks:fix/680-transcript-bin
rbrooks:fix/993-unidentified-prompts
rbrooks:fix/841-redis-timeouts
rbrooks:fix/990-binned-not-exported
rbrooks:fix/830-export-prep-shelf
rbrooks:fix/deps-audit-2026-10-01
rbrooks:fix/877-title-reads
rbrooks:fix/798-audio-received-at
rbrooks:build/lane11-17-j7
rbrooks:build/lane11-16-levelup
rbrooks:build/lane11-14-seams
rbrooks:build/lane11-14-seed
rbrooks:build/lane11-15-start
rbrooks:build/lane11-13-old-block-out
rbrooks:fix/980-review-r3
rbrooks:build/lane11-12-block
rbrooks:build/lane11-8-packs
rbrooks:fix/demo-seed-canonical-names
rbrooks:build/lane11-11-hot-half
rbrooks:docs/l11-decisions
rbrooks:build/lane11-7-convert
rbrooks:build/lane11-10-editing
rbrooks:fix/npm-audit-brace-expansion
rbrooks:build/lane11-9-sheet-page
rbrooks:fix/bot-pyjwt
rbrooks:build/lane11-6-content
rbrooks:fix/lane11-rank-names
rbrooks:build/lane11-2b-language
rbrooks:build/lane11-4-js-evaluator
rbrooks:build/lane11-3-server
rbrooks:build/lane11-5a-pf2e
rbrooks:build/lane11-5b-5e
rbrooks:feat/design-admin
rbrooks:build/lane11-2-evaluator
rbrooks:build/lane11-1-sheet-pieces
rbrooks:build/lane11-0-drawing
rbrooks:fix/943-quest-objectives-fk
rbrooks:fix/prepsheet-shelf-flake
rbrooks:fix/945-leftovers
rbrooks:build/demo-gm-copy
rbrooks:fix/901-email-landings
rbrooks:build/lane10-8-journeys
rbrooks:build/demo-seed-lanes-8-10
rbrooks:fix/887-gm-own-confirmation
rbrooks:build/lane9-5-j1-admin
rbrooks:fix/918-audience-click
rbrooks:fix/useasync-overtaken
rbrooks:ci/939-critical-path
rbrooks:test/937-backend-suite-speed
rbrooks:chore/claude-orchestration
rbrooks:fix/924-xp-gm-only
rbrooks:fix/session-stale-poll
rbrooks:docs/decisions-d239-d242
rbrooks:fix/930-pypdf
rbrooks:build/lane8-journeys
rbrooks:build/925-quest-editor
rbrooks:fix/894-private-page-pictures
rbrooks:build/lane8-p4-drafts
rbrooks:build/lane8-p7-map
rbrooks:build/lane8-p6-handouts-rules
rbrooks:fix/wiki-fixture-names
rbrooks:build/lane10-d227-test-usage
rbrooks:fix/rsvp-horizon-test-tuesday
rbrooks:fix/media-volume-owner
rbrooks:build/lane8-p3-editor
rbrooks:fix/912-unidentified-rename
rbrooks:build/lane8-p5-party-quests
rbrooks:build/lane8-handout-takeback
rbrooks:build/lane10-pickers
rbrooks:build/lane8-p2-article
rbrooks:build/lane8-6-map
rbrooks:build/lane10-7b-email-pages
rbrooks:build/lane8-5-handouts
rbrooks:build/lane10-7a-test-the-bot-pages
rbrooks:build/lane8-p1-pages
rbrooks:build/lane8-4-quests
rbrooks:build/lane8-2b-feeds
rbrooks:build/lane8-3-parties
rbrooks:build/lane8-2a-links
rbrooks:build/lane10-5-commands
rbrooks:build/lane9-6-seed
rbrooks:build/lane10-4b-reactions
rbrooks:build/lane9-4d-pages
rbrooks:build/lane9-4c-pages
rbrooks:build/lane10-4a-posts
rbrooks:build/lane10-3-email
rbrooks:fix/891-web-fonts
rbrooks:build/lane9-4b-pages
rbrooks:build/lane10-6-test-the-bot
rbrooks:build/lane10-2-notify-out
rbrooks:build/lane8-1-wiki-text
rbrooks:build/lane9-4a-frame
rbrooks:design/lane10-drawings
rbrooks:fix/j6-budget
rbrooks:fix/j5-phone-flake
rbrooks:fix/869-test-leaks
rbrooks:fix/843-record-start-followups
rbrooks:build/lane7-all
rbrooks:build/lane6-all
rbrooks:build/lane9-b2-server
rbrooks:chore/changelog-fragments
rbrooks:docs/decisions-d218
rbrooks:build/lane9-a-owner-overview
rbrooks:fix/rule-card-level-label
rbrooks:fix/834-retention-semantics
rbrooks:fix/o3c-record-without-announcement
rbrooks:docs/decisions-d179
rbrooks:docs/decisions-d131-d170
rbrooks:fix/851-commit-before-response
rbrooks:build/lane6-j3-seed
rbrooks:build/lane9-b1-d67-identity
rbrooks:fix/841-blocking-loop
rbrooks:build/lane9-c-backups-audit
rbrooks:fix/vote-race-and-start-commit
rbrooks:fix/recording-announcement
rbrooks:fix/proposal-read-leak
rbrooks:fix/last-admin-guard
rbrooks:build/lane6-p4c-planning
rbrooks:build/lane6-p4b-margin
rbrooks:build/lane6-p4a-sheet
rbrooks:build/lane5-j4-seed
rbrooks:build/lane6-base
rbrooks:build/lane7-pages-talk
rbrooks:build/lane5-pages
rbrooks:build/lane7-pages-safety
rbrooks:build/lane7-p3-safety
rbrooks:build/lane7-p2-notify
rbrooks:build/lane6-p3-planning
rbrooks:build/lane6-p2-history
rbrooks:build/lane6-p1b-items
rbrooks:build/lane7-p1-threads
rbrooks:build/lane5-p6-faces
rbrooks:build/lane6-p1a-sheet
rbrooks:build/lane5-p5-find
rbrooks:build/lane5-p4a-board
rbrooks:build/lane5-p4b-scenes
rbrooks:build/lane5-p3-live
rbrooks:build/lane5-base
rbrooks:build/lane5-p2-cards
rbrooks:docs/lane5-decisions
rbrooks:build/review-r2-wide
rbrooks:fix/review-r1
rbrooks:build/lane5-p1-scenes
rbrooks:build/demo-seed
rbrooks:build/lane4-journeys-j5
rbrooks:build/lane4-page-review-b
rbrooks:build/lane4-page-review-a
rbrooks:build/lane4-page-read
rbrooks:build/lane4-journeys
rbrooks:build/lane4-page-sess2
rbrooks:build/lane4-page-sess1
rbrooks:build/lane4-notes
rbrooks:build/lane4-discord-on-approval
rbrooks:build/lane4-scheduling
rbrooks:build/lane4-versions
rbrooks:build/760-session-number
rbrooks:build/lane4-decisions
rbrooks:build/797-erase-no-regenerate
rbrooks:build/test-race-audit
rbrooks:build/lane3-completions
rbrooks:build/794-dark-only
rbrooks:build/796-titles-scroll
rbrooks:build/791-retention-anchor
rbrooks:build/a11y-sweep
rbrooks:build/shell-followups
rbrooks:build/retention-preview
rbrooks:build/753-backup-readback
rbrooks:docs/d91-d93
rbrooks:build/lane3-j1
rbrooks:build/ci-harness-paths-selftest
rbrooks:fix/useauth-test-race
rbrooks:build/ci-harness-paths
rbrooks:build/777-ai-settings-read
rbrooks:build/lane3-settings-c
rbrooks:build/lane3-settings-b
rbrooks:build/lane3-j6
rbrooks:build/lane3-sessionform
rbrooks:build/lane3-settings-a
rbrooks:build/lane3-members
rbrooks:build/lane3-thisweek
rbrooks:build/lane3-story
rbrooks:chore/87-align-python-3.12
No reviewers
Labels
Clear labels
backend
Issue related to the backend
bot
Issue related to the bot
bug
Something is not working
duplicate
This issue or pull request already exists
enhancement
New feature
frontend
Issue related to the frontend
help wanted
Need some help
invalid
Something is wrong
question
More information is needed
recording
Issue related to the recording system
security
Security hardening / vulnerability work
wontfix
This won't be fixed
No labels
backend
bot
bug
duplicate
enhancement
frontend
help wanted
invalid
question
recording
security
wontfix
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/Quest-Board!906
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/pypi-pypdf-vulnerability"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
==5.1.0→==6.16.1PyPDF's Manipulated FlateDecode streams can exhaust RAM
CVE-2025-55197 / GHSA-7hfw-26vp-jp8m / PYSEC-2026-1830
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to the RAM being exhausted. This requires just reading the file if a series of FlateDecode filters is used on a malicious cross-reference stream. Other content streams are affected on explicit access.
Patches
This has been fixed in pypdf==6.0.0.
Workarounds
If you cannot upgrade yet, you might want to implement the workaround for
pypdf.filters.decompressyourself:github.com/py-pdf/pypdf@0dd57738bb/pypdf/filters.py (L72-L143)References
This issue has been reported in #3429 and fixed in #3430.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
PyPDF's Manipulated FlateDecode streams can exhaust RAM
CVE-2025-55197 / GHSA-7hfw-26vp-jp8m / PYSEC-2026-1830
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to the RAM being exhausted. This requires just reading the file if a series of FlateDecode filters is used on a malicious cross-reference stream. Other content streams are affected on explicit access.
Patches
This has been fixed in pypdf==6.0.0.
Workarounds
If you cannot upgrade yet, you might want to implement the workaround for
pypdf.filters.decompressyourself:github.com/py-pdf/pypdf@0dd57738bb/pypdf/filters.py (L72-L143)References
This issue has been reported in #3429 and fixed in #3430.
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf can exhaust RAM via manipulated LZWDecode streams
CVE-2025-62708 / GHSA-jfx9-29x2-rv3j / PYSEC-2026-1831
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 of a page using the LZWDecode filter.
Patches
This has been fixed in pypdf==6.1.3.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3502.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf possibly loops infinitely when reading DCT inline images without EOF marker
CVE-2025-62707 / GHSA-vr63-x8vc-m265 / PYSEC-2026-1833
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires parsing the content stream of a page which has an inline image using the DCTDecode filter.
Patches
This has been fixed in pypdf==6.1.3.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3501.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf can exhaust RAM via manipulated LZWDecode streams
CVE-2025-62708 / GHSA-jfx9-29x2-rv3j / PYSEC-2026-1831
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 of a page using the LZWDecode filter.
Patches
This has been fixed in pypdf==6.1.3.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3502.
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf possibly loops infinitely when reading DCT inline images without EOF marker
CVE-2025-62707 / GHSA-vr63-x8vc-m265 / PYSEC-2026-1833
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires parsing the content stream of a page which has an inline image using the DCTDecode filter.
Patches
This has been fixed in pypdf==6.1.3.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3501.
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf's LZWDecode streams be manipulated to exhaust RAM
CVE-2025-66019 / GHSA-m449-cwjh-6pw7 / PYSEC-2026-1832
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to a memory usage of up to 1 GB per stream. This requires parsing the content stream of a page using the LZWDecode filter.
This is a follow up to GHSA-jfx9-29x2-rv3j to align the default limit with the one for zlib.
Patches
This has been fixed in pypdf==6.4.0.
Workarounds
If users cannot upgrade yet, use the line below to overwrite the default in their code:
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf's LZWDecode streams be manipulated to exhaust RAM
CVE-2025-66019 / GHSA-m449-cwjh-6pw7 / PYSEC-2026-1832
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to a memory usage of up to 1 GB per stream. This requires parsing the content stream of a page using the LZWDecode filter.
This is a follow up to GHSA-jfx9-29x2-rv3j to align the default limit with the one for zlib.
Patches
This has been fixed in pypdf==6.4.0.
Workarounds
If users cannot upgrade yet, use the line below to overwrite the default in their code:
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf has possible long runtimes for malformed startxref
CVE-2026-22691 / GHSA-4f6g-68pf-7vhv / PYSEC-2026-1828
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf has possible long runtimes for missing /Root object with large /Size values
CVE-2026-22690 / GHSA-4xc4-762w-m6cg / PYSEC-2026-1829
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf has possible long runtimes for malformed startxref
CVE-2026-22691 / GHSA-4f6g-68pf-7vhv / PYSEC-2026-1828
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf has possible long runtimes for missing /Root object with large /Size values
CVE-2026-22690 / GHSA-4xc4-762w-m6cg / PYSEC-2026-1829
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf has possible Infinite Loop when processing outlines/bookmarks
CVE-2026-24688 / GHSA-2q4j-m29v-hq73 / PYSEC-2026-1827
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf has possible Infinite Loop when processing outlines/bookmarks
CVE-2026-24688 / GHSA-2q4j-m29v-hq73 / PYSEC-2026-1827
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf has a possible infinite loop when processing TreeObject
CVE-2026-27024 / GHSA-996q-pr4m-cvgq / PYSEC-2026-3013
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf possibly has long runtimes for malformed FlateDecode streams
CVE-2026-27026 / GHSA-9mvc-8737-8j8h / PYSEC-2026-3015
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 OSV and 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 / PYSEC-2026-3024
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf has a possible infinite loop when processing TreeObject
CVE-2026-27024 / GHSA-996q-pr4m-cvgq / PYSEC-2026-3013
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf possibly has long runtimes for malformed FlateDecode streams
CVE-2026-27026 / GHSA-9mvc-8737-8j8h / PYSEC-2026-3015
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 OSV and the PyPI 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 / PYSEC-2026-3024
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 OSV and the PyPI 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 / PYSEC-2026-3005
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 OSV and 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 / PYSEC-2026-3005
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Manipulated FlateDecode XFA streams can exhaust RAM
CVE-2026-27888 / GHSA-x7hp-r3qg-r3cj / PYSEC-2026-3027
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Manipulated FlateDecode XFA streams can exhaust RAM
CVE-2026-27888 / GHSA-x7hp-r3qg-r3cj / PYSEC-2026-3027
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Manipulated RunLengthDecode streams can exhaust RAM
CVE-2026-28351 / GHSA-f2v5-7jq9-h8cg / PYSEC-2026-3017
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Manipulated RunLengthDecode streams can exhaust RAM
CVE-2026-28351 / GHSA-f2v5-7jq9-h8cg / PYSEC-2026-3017
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf vulnerable to inefficient decoding of ASCIIHexDecode streams
CVE-2026-28804 / GHSA-9m86-7pmv-2852 / PYSEC-2026-3014
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf vulnerable to inefficient decoding of ASCIIHexDecode streams
CVE-2026-28804 / GHSA-9m86-7pmv-2852 / PYSEC-2026-3014
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: manipulated stream length values can exhaust RAM
CVE-2026-31826 / GHSA-hqmh-ppp3-xvm7 / PYSEC-2026-3019
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: manipulated stream length values can exhaust RAM
CVE-2026-31826 / GHSA-hqmh-ppp3-xvm7 / PYSEC-2026-3019
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf has inefficient decoding of array-based streams
CVE-2026-33123 / GHSA-qpxp-75px-xjcp / PYSEC-2026-3023
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf has inefficient decoding of array-based streams
CVE-2026-33123 / GHSA-qpxp-75px-xjcp / PYSEC-2026-3023
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 OSV and the PyPI 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 / PYSEC-2026-3012
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 OSV and 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 / PYSEC-2026-3012
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Manipulated XMP metadata entity declarations can exhaust RAM
CVE-2026-40260 / GHSA-3crg-w4f6-42mx / PYSEC-2026-3006
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Manipulated XMP metadata entity declarations can exhaust RAM
CVE-2026-40260 / GHSA-3crg-w4f6-42mx / PYSEC-2026-3006
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 OSV and the PyPI 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 / PYSEC-2026-3021
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 OSV and 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 / PYSEC-2026-3021
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Possible long runtimes for wrong size values in incremental mode
CVE-2026-41313 / GHSA-4pxv-j86v-mhcw / PYSEC-2026-3007
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Manipulated FlateDecode predictor parameters can exhaust RAM
CVE-2026-41312 / GHSA-7gw9-cf7v-778f / PYSEC-2026-3011
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Manipulated FlateDecode image dimensions can exhaust RAM
CVE-2026-41314 / GHSA-x284-j5p8-9c5p / PYSEC-2026-3026
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 OSV and 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 / PYSEC-2026-3007
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Manipulated FlateDecode predictor parameters can exhaust RAM
CVE-2026-41312 / GHSA-7gw9-cf7v-778f / PYSEC-2026-3011
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Manipulated FlateDecode image dimensions can exhaust RAM
CVE-2026-41314 / GHSA-x284-j5p8-9c5p / PYSEC-2026-3026
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 OSV and the PyPI 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 / PYSEC-2026-3004
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 OSV and 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 / PYSEC-2026-3016
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 OSV and 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 / PYSEC-2026-3004
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 OSV and the PyPI 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 / PYSEC-2026-3016
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Manipulated XMP metadata streams can exhaust RAM
CVE-2026-48735 / GHSA-wjqc-6w8f-h24c / PYSEC-2026-3025
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Manipulated XMP metadata streams can exhaust RAM
CVE-2026-48735 / GHSA-wjqc-6w8f-h24c / PYSEC-2026-3025
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Inefficient decoding of FlateDecode PNG predictor streams
CVE-2026-49460 / GHSA-5hgr-hg42-57jg / PYSEC-2026-3010
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 OSV and 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 / PYSEC-2026-3020
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Inefficient decoding of FlateDecode PNG predictor streams
CVE-2026-49460 / GHSA-5hgr-hg42-57jg / PYSEC-2026-3010
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Possible large memory usage for form XObjects during text extraction
CVE-2026-49461 / GHSA-j543-4vmf-qm7v / PYSEC-2026-3020
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 OSV and the PyPI 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 / PYSEC-2026-3009
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 OSV and 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 / PYSEC-2026-3022
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 OSV and 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 / PYSEC-2026-3009
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Possible infinite loop when processing outlines/bookmarks in writer
CVE-2026-54531 / GHSA-m2v9-299j-rv96 / PYSEC-2026-3022
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Possible infinite loop when processing threads/articles in writer
CVE-2026-54651 / GHSA-g9xf-7f8q-9mcj / PYSEC-2026-3018
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 threads/articles into a writer.
Patches
This has been fixed in pypdf==6.13.1.
Workarounds
If users cannot upgrade yet, consider applying the changes from PR #3839.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible infinite loop when processing threads/articles in writer
CVE-2026-54651 / GHSA-g9xf-7f8q-9mcj / PYSEC-2026-3018
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 threads/articles into a writer.
Patches
This has been fixed in pypdf==6.13.1.
Workarounds
If users cannot upgrade yet, consider applying the changes from PR #3839.
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Missing stream length values ignore defined limits
CVE-2026-57204 / GHSA-jm82-fx9c-mx94
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage, as
MAX_DECLARED_STREAM_LENGTHis sometimes ignored. This requires parsing a content stream without a/Lengthvalue.Patches
This has been fixed in pypdf==6.13.3.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3871.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible long runtimes for repeated malformed cross-reference entries
CVE-2026-59937 / GHSA-55h5-xmcq-c37v / PYSEC-2026-3610
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 repeated malformed cross-reference streams.
Patches
This has been fixed in pypdf==6.14.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3887.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible large memory usage for wrong image dimensions
CVE-2026-59938 / GHSA-5qjq-93h5-hrgp / PYSEC-2026-3611
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires loading images where the declared size values are much too large compared to the actual data.
Patches
This has been fixed in pypdf==6.14.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3888.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible long runtimes for repeated malformed cross-reference entries
CVE-2026-59937 / GHSA-55h5-xmcq-c37v / PYSEC-2026-3610
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 repeated malformed cross-reference streams.
Patches
This has been fixed in pypdf==6.14.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3887.
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Possible large memory usage for wrong image dimensions
CVE-2026-59938 / GHSA-5qjq-93h5-hrgp / PYSEC-2026-3611
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires loading images where the declared size values are much too large compared to the actual data.
Patches
This has been fixed in pypdf==6.14.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3888.
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Possible infinite loop for not terminated inline images
CVE-2026-59936 / GHSA-5xf7-4p34-54qr / PYSEC-2026-3612
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires parsing the content stream of a page with a not terminated inline image, as done when extracting the page text for example.
Patches
This has been fixed in pypdf==6.14.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3891.
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:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible infinite loop for not terminated inline images
CVE-2026-59936 / GHSA-5xf7-4p34-54qr / PYSEC-2026-3612
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires parsing the content stream of a page with a not terminated inline image, as done when extracting the page text for example.
Patches
This has been fixed in pypdf==6.14.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3891.
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:NReferences
This data is provided by OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Possible infinite loop for not terminated inline images (ASCII85 and ASCIIHex filter)
CVE-2026-59935 / GHSA-g867-7843-wf8q / PYSEC-2026-3613
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires parsing the content stream of a page with a not terminated inline image, as done when extracting the page text for example. It only affects the ASCII85 and ASCIIHex filters.
Patches
This has been fixed in pypdf==6.14.2.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3892.
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:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible infinite loop for not terminated inline images (ASCII85 and ASCIIHex filter)
CVE-2026-59935 / GHSA-g867-7843-wf8q / PYSEC-2026-3613
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires parsing the content stream of a page with a not terminated inline image, as done when extracting the page text for example. It only affects the ASCII85 and ASCIIHex filters.
Patches
This has been fixed in pypdf==6.14.2.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3892.
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:NReferences
This data is provided by OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Inefficient handling of non-whitespace inputs in read_until_whitespace
CVE-2026-82398 / GHSA-fc8x-2rww-xw9m / PYSEC-2026-3912
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires a call to
read_until_whitespacewith an input which does not have whitespace for a long time.Patches
This has been fixed in pypdf==6.15.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3947.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible large memory usage for large /ToUnicode streams
CVE-2026-71870 / GHSA-fp3f-mc75-235c / PYSEC-2026-3655
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to 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.15.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3944.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible long runtimes/large memory usage for large CID font width ranges
CVE-2026-71852 / GHSA-fwg2-594c-jp42 / PYSEC-2026-3656
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 font width entries of a font with unusually large values, for example during text extraction.
Patches
This has been fixed in pypdf==6.15.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3946.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible large memory usage for large /ToUnicode streams
CVE-2026-71870 / GHSA-fp3f-mc75-235c / PYSEC-2026-3655
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to 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.15.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3944.
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Possible long runtimes/large memory usage for large CID font width ranges
CVE-2026-71852 / GHSA-fwg2-594c-jp42 / PYSEC-2026-3656
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 font width entries of a font with unusually large values, for example during text extraction.
Patches
This has been fixed in pypdf==6.15.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3946.
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Inefficient handling of non-whitespace inputs in read_until_whitespace
CVE-2026-82398 / GHSA-fc8x-2rww-xw9m / PYSEC-2026-3912
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires a call to
read_until_whitespacewith an input which does not have whitespace for a long time.Patches
This has been fixed in pypdf==6.15.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3947.
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Possible infinite loop for TreeObject.insert_child
CVE-2026-84309 / GHSA-jp53-mhqp-8xcg / PYSEC-2026-3913
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires a (usually writing) code path where
TreeObject.insert_childis involved.Patches
This has been fixed in pypdf==6.16.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3964.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible infinite loop for TreeObject.insert_child
CVE-2026-84309 / GHSA-jp53-mhqp-8xcg / PYSEC-2026-3913
More information
Details
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires a (usually writing) code path where
TreeObject.insert_childis involved.Patches
This has been fixed in pypdf==6.16.0.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3964.
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Possible long runtimes/large memory usage when retrieving outlines
CVE-2026-84310 / GHSA-23w6-3w8w-8484 / PYSEC-2026-3910
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 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.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3966.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible long runtimes/large memory usage when extracting XForm objects
CVE-2026-84311 / GHSA-763m-79hh-57f2 / PYSEC-2026-3911
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 extracting the text of a page with lots of XForm objects, where some of them might be re-used.
Patches
This has been fixed in pypdf==6.16.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3966.
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 OSV and the GitHub Advisory Database (CC-BY 4.0).
pypdf: Possible long runtimes/large memory usage when retrieving outlines
CVE-2026-84310 / GHSA-23w6-3w8w-8484 / PYSEC-2026-3910
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 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.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3966.
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
pypdf: Possible long runtimes/large memory usage when extracting XForm objects
CVE-2026-84311 / GHSA-763m-79hh-57f2 / PYSEC-2026-3911
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 extracting the text of a page with lots of XForm objects, where some of them might be re-used.
Patches
This has been fixed in pypdf==6.16.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3966.
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 OSV and the PyPI Advisory Database (CC-BY 4.0).
Release Notes
py-pdf/pypdf (pypdf)
v6.16.1Compare Source
Bug Fixes (BUG)
Robustness (ROB)
Full Changelog
v6.16.0Compare Source
Security (SEC)
Full Changelog
v6.15.0Compare Source
Security (SEC)
New Features (ENH)
Performance Improvements (PI)
Bug Fixes (BUG)
Robustness (ROB)
Maintenance (MAINT)
Code Style (STY)
Full Changelog
v6.14.2Compare Source
Security (SEC)
Deprecations (DEP)
New Features (ENH)
Bug Fixes (BUG)
Documentation (DOC)
Maintenance (MAINT)
Full Changelog
v6.14.1Compare Source
Security (SEC)
Full Changelog
v6.14.0Compare Source
Security (SEC)
Full Changelog
v6.13.3Compare Source
Security (SEC)
New Features (ENH)
Robustness (ROB)
Full Changelog
v6.13.2Compare Source
Security (SEC)
Performance Improvements (PI)
Robustness (ROB)
Maintenance (MAINT)
Full Changelog
v6.13.1Compare Source
Security (SEC)
Robustness (ROB)
Full Changelog
v6.13.0Compare Source
Security (SEC)
Full Changelog
v6.12.2Compare Source
Security (SEC)
New Features (ENH)
Robustness (ROB)
Maintenance (MAINT)
NoReturn(#3819)Full Changelog
v6.12.1Compare Source
Security (SEC)
Full Changelog
v6.12.0Compare Source
Security (SEC)
Robustness (ROB)
Full Changelog
v6.11.0Compare Source
Security (SEC)
New Features (ENH)
Performance Improvements (PI)
Bug Fixes (BUG)
Robustness (ROB)
Documentation (DOC)
Full Changelog
v6.10.2Compare Source
New Features (ENH)
Robustness (ROB)
Developer Experience (DEV)
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)
New Features (ENH)
Bug Fixes (BUG)
Documentation (DOC)
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.0Compare Source
Security (SEC)
/ToUnicodeentries (#3646)Bug Fixes (BUG)
PageObject.replace_contents(#3638)Robustness (ROB)
Full Changelog
v6.6.2Compare Source
Deprecations (DEP)
New Features (ENH)
Bug Fixes (BUG)
Robustness (ROB)
self._infobeing None incompress_identical_objects(#3612)Full Changelog
v6.6.1Compare Source
Security (SEC)
Full Changelog
v6.6.0Compare Source
Robustness (ROB)
/AcroFormmight be NullObject (#3601)Full Changelog
v6.5.0Compare Source
Security (SEC)
Deprecations (DEP)
New Features (ENH)
Bug Fixes (BUG)
Robustness (ROB)
Documentation (DOC)
Developer Experience (DEV)
Maintenance (MAINT)
Full Changelog
v6.4.2Compare Source
New Features (ENH)
Robustness (ROB)
Developer Experience (DEV)
Full Changelog
v6.4.1Compare Source
Bug Fixes (BUG)
Robustness (ROB)
Documentation (DOC)
Full Changelog
v6.4.0Compare Source
Performance Improvements (PI)
Bug Fixes (BUG)
Documentation (DOC)
Maintenance (MAINT)
Full Changelog
v6.3.0Compare Source
Security (SEC)
New Features (ENH)
Robustness (ROB)
Full Changelog
v6.2.0Compare Source
New Features (ENH)
Bug Fixes (BUG)
Full Changelog
v6.1.3Compare Source
New Features (ENH)
Bug Fixes (BUG)
Documentation (DOC)
Full Changelog
v6.1.2Compare Source
Security (SEC)
Bug Fixes (BUG)
Robustness (ROB)
Full Changelog
v6.1.1Compare Source
Bug Fixes (BUG)
Robustness (ROB)
Developer Experience (DEV)
Full Changelog
v6.1.0Compare Source
Bug Fixes (BUG)
Documentation (DOC)
Full Changelog
v6.0.0Compare Source
New Features (ENH)
Bug Fixes (BUG)
Developer Experience (DEV)
Full Changelog
v5.9.0Compare Source
Security (SEC)
Deprecations (DEP)
New Features (ENH)
Robustness (ROB)
Developer Experience (DEV)
Maintenance (MAINT)
Full Changelog
v5.8.0Compare Source
New Features (ENH)
Bug Fixes (BUG)
Robustness (ROB)
Documentation (DOC)
Full Changelog
v5.7.0Compare Source
New Features (ENH)
Bug Fixes (BUG)
Robustness (ROB)
Developer Experience (DEV)
Maintenance (MAINT)
Full Changelog
v5.6.1Compare Source
Performance Improvements (PI)
Robustness (ROB)
Maintenance (MAINT)
Full Changelog
v5.6.0Compare Source
New Features (ENH)
Robustness (ROB)
Developer Experience (DEV)
Full Changelog
v5.5.0Compare Source
New Features (ENH)
Bug Fixes (BUG)
Robustness (ROB)
Code Style (STY)
Full Changelog
v5.4.0Compare Source
New Features (ENH)
Bug Fixes (BUG)
Robustness (ROB)
Developer Experience (DEV)
Maintenance (MAINT)
Code Style (STY)
Full Changelog
v5.3.1Compare Source
New Features (ENH)
IndirectObject.__contains__(#3155)Bug Fixes (BUG)
Robustness (ROB)
Documentation (DOC)
Developer Experience (DEV)
Full Changelog
v5.3.0Compare Source
Bug Fixes (BUG)
EIsequences (#3152)Robustness (ROB)
Documentation (DOC)
Full Changelog
v5.2.0Compare Source
New Features (ENH)
Bug Fixes (BUG)
Robustness (ROB)
Documentation (DOC)
Developer Experience (DEV)
Testing (TST)
pytest.warns()(#3083)Full Changelog
Configuration
📅 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 has been generated by Mend Renovate.
chore(deps): update dependency pypdf to v6 [security]to chore(deps): update dependency pypdf to v6 [security] - autoclosedPull request closed