Skip to content
Heist/ feed
Back to feed
High

picklescan - Unsafe Deserialization via lib2to3.pgen2.grammar.Grammar.loads

Type: advisorySources: OSV

picklescan before 0.0.29 fails to detect malicious pickle payloads that utilize lib2to3.pgen2.grammar.Grammar.loads in the reduce method, allowing remote code execution. Attackers can craft pickle files embedding dangerous code that evades picklescan detection and executes during pickle.load() deserialization.

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

Source evidence

picklescan - Unsafe Deserialization via lib2to3.pgen2.grammar.Grammar.loads

core-osv · Original source

Published 4 Jul 2026, 01:23 UTC

picklescan before 0.0.29 fails to detect malicious pickle payloads that utilize lib2to3.pgen2.grammar.Grammar.loads in the reduce method, allowing remote code execution. Attackers can craft pickle files embedding dangerous code that evades picklescan detection and executes during pickle.load() deserialization.

osv:CVE-2025-71359
Complete source record
{
  "id": "6e05fb314ee48b2211eaaff53841db9f3814bdec646fefbb026f733a631dd2a1",
  "url": "https://osv.dev/vulnerability/CVE-2025-71359",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "picklescan - Unsafe Deserialization via lib2to3.pgen2.grammar.Grammar.loads",
    "summary": "picklescan before 0.0.29 fails to detect malicious pickle payloads that utilize lib2to3.pgen2.grammar.Grammar.loads in the reduce method, allowing remote code execution. Attackers can craft pickle files embedding dangerous code that evades picklescan detection and executes during pickle.load() deserialization.",
    "evidence": "osv:CVE-2025-71359",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2025-71359",
      "aliases": [
        "CVE-2025-71359",
        "GHSA-f54q-57x4-jg88"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/mmaitre314/picklescan",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "aecd11be98702caa9ba9b12189d91ad596a36114"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.0.29"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.0.29"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.0.28",
            "v0.0.27",
            "v0.0.26",
            "v0.0.25",
            "v0.0.24",
            "v0.0.23",
            "v0.0.22",
            "v0.0.21",
            "v0.0.20",
            "v0.0.19",
            "v0.0.18",
            "v0.0.17",
            "v0.0.15",
            "v0.0.14",
            "v0.0.13",
            "v0.0.12",
            "v0.0.11",
            "v0.0.10",
            "v0.0.9",
            "v0.0.8",
            "v0.0.7",
            "v0.0.6",
            "v0.0.5",
            "v0.0.4",
            "v0.0.3",
            "v0.0.2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-71359.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:27.463380616Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/71xxx/CVE-2025-71359.json",
        "https://github.com/mmaitre314/picklescan/security/advisories/GHSA-f54q-57x4-jg88",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-71359",
        "https://www.vulncheck.com/advisories/picklescan-unsafe-deserialization-via-lib2to3-pgen2-grammar-grammar-loads"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-502"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/71xxx/CVE-2025-71359.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-71359",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493816,
  "published_at": "2026-07-04T01:23:35.892+00:00"
}