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
- lists.debian.org/debian-lts-announce/2026/01/msg00005.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. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →