CVE-2023-36464
Description
pypdf is an open source, pure-python PDF library. In affected versions an attacker may craft a PDF which leads to an infinite loop if `__parse_content_stream` is executed. That is, for example, the case if the user extracted text from such a PDF. This issue was introduced in pull request #969 and resolved in pull request #1828. Users are advised to upgrade. Users unable to upgrade may modify the line `while peek not in (b"\r", b"\n")` in `pypdf/generic/_data_structures.py` to `while peek not in (b"\r", b"\n", b"")`.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
No mitigations published for this CVE yet.
The vendor-content worker queues fetches as references arrive (check back in a few minutes). Or โ if you've already worked around this in production โ publish your fix to the community-verified tier.
โ Propose a mitigation on Community โ Mitigations published via the community go through AI scoring + 2 human reviewers + 7-day silent objection window before landing here withsource_tier=community-verified.
OS impact
Debian Fixed 5 releases
| Version | Status | Fixed in |
|---|---|---|
| trixie | Fixed | 3.17.4-1 |
| sid | Fixed | 3.17.4-1 |
| forky | Fixed | 3.17.4-1 |
| bullseye | Fixed | 0 |
| bookworm | Fixed | 3.4.1-1+deb12u1 |
References
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-4vvm-4w3v-6mr8
- https://nvd.nist.gov/vuln/detail/CVE-2023-36464
- https://github.com/py-pdf/pypdf/pull/1828
- https://github.com/py-pdf/pypdf/pull/969
- https://github.com/py-pdf/pypdf/commit/b0e5c689df689ab173df84dacd77b6fc3c161932
- https://github.com/py-pdf/pypdf
- https://github.com/py-pdf/pypdf/releases/tag/3.9.0
- https://security-tracker.debian.org/tracker/CVE-2023-36464
Community-verified mitigations for this CVE will appear above when contributors publish them.
Verify integrity in audit chain (admin only). AS-IS.