Skip to content
Heist/ feed
Back to feed
High

pdfminer.six vulnerable to Arbitrary Code Execution via Crafted PDF Input

Type: advisorySources: OSV

Pdfminer.six is a community maintained fork of the original PDFMiner, a tool for extracting information from PDF documents. Prior to version 20251107, 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. Version 20251107 fixes the issue.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-64512
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 17:59 UTC · Revision 1

Source evidence

pdfminer.six vulnerable to Arbitrary Code Execution via Crafted PDF Input

core-osv · Original source

Published 10 Nov 2025, 21:58 UTC

Pdfminer.six is a community maintained fork of the original PDFMiner, a tool for extracting information from PDF documents. Prior to version 20251107, 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. Version 20251107 fixes the issue.

osv:CVE-2025-64512
Complete source record
{
  "id": "810b03d2afdd0be2964a73a1c8d5a283e3e213c082b88823d1c05029f58e732c",
  "url": "https://osv.dev/vulnerability/CVE-2025-64512",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "pdfminer.six vulnerable to Arbitrary Code Execution via Crafted PDF Input",
    "summary": "Pdfminer.six is a community maintained fork of the original PDFMiner, a tool for extracting information from PDF documents. Prior to version 20251107, 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. Version 20251107 fixes the issue.",
    "evidence": "osv:CVE-2025-64512",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2025-64512",
      "aliases": [
        "CVE-2025-64512",
        "GHSA-wf5f-4jwr-ppcp",
        "PYSEC-2026-1762"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/pdfminer/pdfminer.six",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "b808ee05dd7f0c8ea8ec34bdf394d40e63501086"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "20251107"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "b808ee05dd7f0c8ea8ec34bdf394d40e63501086"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "b808ee05dd7f0c8ea8ec34bdf394d40e63501086"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "20251107"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "20251107"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "20250506",
            "20250416",
            "20250327",
            "20240706",
            "20221105",
            "20220524",
            "20220506",
            "20220319",
            "20211012",
            "20201018",
            "20200726",
            "20200720",
            "20200517",
            "20200402",
            "20200124",
            "20200121",
            "20200104",
            "20191110",
            "20191107",
            "20191020",
            "20181108",
            "20170720",
            "20170419",
            "20160614"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-64512.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:31.051214365Z",
      "provider": "osv",
      "references": [
        "https://github.com/pdfminer/pdfminer.six/releases/tag/20251107",
        "https://lists.debian.org/debian-lts-announce/2025/11/msg00017.html",
        "https://lists.debian.org/debian-lts-announce/2026/01/msg00005.html",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/64xxx/CVE-2025-64512.json",
        "https://github.com/pdfminer/pdfminer.six/security/advisories/GHSA-wf5f-4jwr-ppcp",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-64512",
        "https://github.com/pdfminer/pdfminer.six/commit/b808ee05dd7f0c8ea8ec34bdf394d40e63501086"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-502"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/64xxx/CVE-2025-64512.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-64512",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 498069,
  "published_at": "2025-11-10T21:58:37.95+00:00"
}