CVE-2025-64512: Arbitrary Code Execution in pdfminer.six via Crafted PDF Input
(updated )
pdfminer.six will execute arbitrary code from a malicious pickle file if provided with a malicious PDF file. The CMapDB._load_data() function in pdfminer.six uses pickle.loads() to deserialize pickle files. These pickle files are supposed to be part of the pdfminer.six distribution stored in the cmap/ directory, but a malicious PDF can specify an alternative directory and filename as long as the filename ends in .pickle.gz. A malicious, zipped pickle file can then contain code which will automatically execute when the PDF is processed.
References
- github.com/advisories/GHSA-wf5f-4jwr-ppcp
- github.com/pdfminer/pdfminer.six
- github.com/pdfminer/pdfminer.six/commit/b808ee05dd7f0c8ea8ec34bdf394d40e63501086
- github.com/pdfminer/pdfminer.six/releases/tag/20251107
- github.com/pdfminer/pdfminer.six/security/advisories/GHSA-wf5f-4jwr-ppcp
- lists.debian.org/debian-lts-announce/2025/11/msg00017.html
- nvd.nist.gov/vuln/detail/CVE-2025-64512
Code Behaviors & Features
Detect and mitigate CVE-2025-64512 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →