Skip to content
Heist/ feed
Back to feed
High

Picklescan - Arbitrary Code Execution via Unsafe Numpy Function Detection Bypass

Type: advisorySources: OSV

Picklescan before 0.0.25 fails to detect unsafe global functions in the Numpy library, allowing attackers to bypass static analysis and execute arbitrary code during deserialization. Attackers can craft malicious pickle files using numpy.testing._private.utils.runstring within the reduce method to import dangerous libraries like os and execute arbitrary OS commands when the pickle file is loaded.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-71355
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 23:52 UTC · Revision 1

Source evidence

Picklescan - Arbitrary Code Execution via Unsafe Numpy Function Detection Bypass

core-osv · Original source

Published 30 Jun 2026, 22:08 UTC

Picklescan before 0.0.25 fails to detect unsafe global functions in the Numpy library, allowing attackers to bypass static analysis and execute arbitrary code during deserialization. Attackers can craft malicious pickle files using numpy.testing._private.utils.runstring within the reduce method to import dangerous libraries like os and execute arbitrary OS commands when the pickle file is loaded.

osv:CVE-2025-71355
Complete source record
{
  "id": "125cfea92fe6fdafbb2ed252e2f5d47478589c6c7a28be7c9041257f394debf2",
  "url": "https://osv.dev/vulnerability/CVE-2025-71355",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Picklescan - Arbitrary Code Execution via Unsafe Numpy Function Detection Bypass",
    "summary": "Picklescan before 0.0.25 fails to detect unsafe global functions in the Numpy library, allowing attackers to bypass static analysis and execute arbitrary code during deserialization. Attackers can craft malicious pickle files using numpy.testing._private.utils.runstring within the reduce method to import dangerous libraries like os and execute arbitrary OS commands when the pickle file is loaded.",
    "evidence": "osv:CVE-2025-71355",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2025-71355",
      "aliases": [
        "CVE-2025-71355",
        "GHSA-fj43-3qmq-673f"
      ],
      "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": "62e76cfdf9aaaa3d0a26b78f7a93710406482274"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.0.25"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.0.25"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "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-71355.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:24.338594998Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/71xxx/CVE-2025-71355.json",
        "https://github.com/mmaitre314/picklescan/security/advisories/GHSA-fj43-3qmq-673f",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-71355",
        "https://www.vulncheck.com/advisories/picklescan-arbitrary-code-execution-via-unsafe-numpy-function-detection-bypass"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-184"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/71xxx/CVE-2025-71355.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-71355",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 490996,
  "published_at": "2026-06-30T22:08:18.129+00:00"
}