Skip to content
Heist/ feed
Back to feed
Critical

picklescan - Arbitrary File Writing via distutils Module Bypass

Type: advisorySources: OSV

picklescan before 0.0.33 contains an arbitrary file writing vulnerability that allows attackers to bypass the dangerous blocklist by using distutils.file_util.write_file. Attackers can construct malicious pickle objects to overwrite critical system files and achieve denial of service or remote code execution.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-71321
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 01:14 UTC · Revision 1

Source evidence

picklescan - Arbitrary File Writing via distutils Module Bypass

core-osv · Original source

Published 17 Jun 2026, 15:04 UTC

picklescan before 0.0.33 contains an arbitrary file writing vulnerability that allows attackers to bypass the dangerous blocklist by using distutils.file_util.write_file. Attackers can construct malicious pickle objects to overwrite critical system files and achieve denial of service or remote code execution.

osv:CVE-2025-71321
Complete source record
{
  "id": "357e6114ee3ecb6845f6efefec8c3ef205f5ac4212dabaf5d45a69c98bd350bb",
  "url": "https://osv.dev/vulnerability/CVE-2025-71321",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "picklescan - Arbitrary File Writing via distutils Module Bypass",
    "summary": "picklescan before 0.0.33 contains an arbitrary file writing vulnerability that allows attackers to bypass the dangerous blocklist by using distutils.file_util.write_file. Attackers can construct malicious pickle objects to overwrite critical system files and achieve denial of service or remote code execution.",
    "evidence": "osv:CVE-2025-71321",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2025-71321",
      "aliases": [
        "CVE-2025-71321",
        "GHSA-m273-6v24-x4m4",
        "PYSEC-2026-1791"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/mmaitre314/picklescan",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "70c1c6c31beb6baaf52c8db1b6c3c0e84a6f9dab"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.0.33"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.0.33"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.0.32",
            "v0.0.31",
            "v0.0.30",
            "v0.0.29",
            "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-71321.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:41.193654799Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/71xxx/CVE-2025-71321.json",
        "https://github.com/mmaitre314/picklescan/security/advisories/GHSA-m273-6v24-x4m4",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-71321",
        "https://www.vulncheck.com/advisories/picklescan-arbitrary-file-writing-via-distutils-module-bypass"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-502"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/71xxx/CVE-2025-71321.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-71321",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 508951,
  "published_at": "2026-06-17T15:04:58.706+00:00"
}