CVE-2026-53875

picklescan - Scanning Bypass via Dynamic Eval in scan_pytorch

Published Jun 17, 2026 CVSS 4.0 · 7.1 High EPSS < 1% KEV · Not listed
Description
picklescan before 1.0.3 contains a scanning bypass vulnerability in the scan_pytorch function that allows attackers to embed malicious magic numbers via dynamic eval using the __reduce__ trick. Attackers can craft malicious PyTorch payloads that evade picklescan detection while remaining executable, enabling arbitrary code execution when loaded with torch.load().

Analysis

AI-generated

Technical impact

picklescan before version 1.0.3 contains a flaw in the scan_pytorch function that allows an attacker to embed malicious magic numbers through dynamic evaluation, specifically exploiting the __reduce__ technique. This flaw bypasses picklescan’s detection mechanisms and can result in arbitrary code execution when the crafted payload is later loaded with torch.load(). The vulnerability aligns with CWE‑95, where unsafe use of eval-like functions can execute arbitrary code.

Affected Systems

The affected product is picklescan, and any installation of picklescan prior to version 1.0.3 is vulnerable. No other vendors or product variants are listed. Users running picklescan 1.0.3 or newer are not impacted.

Risk and Exploitability

The CVSS base score of 7.1 indicates a high potential impact, while the EPSS score of less than 1 % suggests a low but non‑zero probability of exploitation in the general ecosystem. The vulnerability is not currently listed in the CISA KEV catalog. Exploitation would require an attacker to supply a malicious PyTorch payload that bypasses picklescan’s scanning and is subsequently loaded by an application that uses torch.load(). The likely attack vector inferred from the description is either local file injection or remote delivery of untrusted serialized data to a system that processes it with picklescan and torch.load().

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade picklescan to version 1.0.3 or later, which contains a fix for the scanning bypass.
  • When patching is not immediately possible, limit the use of torch.load() to trusted data sources only, rejecting or sanitising any payloads that are not generated by the application itself.
  • Prefer using the safetensors format or other non‑eval based serialization mechanisms for loading external PyTorch models, which eliminates the vector for dynamic code execution.

Generated by OpenCVE AI on June 18, 2026 at 19:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-97f8-7cmv-76j2 Picklescan (scan_pytorch) Bypass via dynamic eval MAGIC_NUMBER
History
Type Values Removed Values Added
Description picklescan before 1.0.3 contains a scanning bypass vulnerability in the scan_pytorch function that allows attackers to embed malicious magic numbers via dynamic eval using the __reduce__ trick. Attackers can craft malicious PyTorch payloads that evade picklescan detection while remaining executable, enabling arbitrary code execution when loaded with torch.load().
Title picklescan - Scanning Bypass via Dynamic Eval in scan_pytorch
First Time appeared Mmaitre314
Mmaitre314 picklescan
Weaknesses CWE-95
CPEs cpe:2.3:a:mmaitre314:picklescan:*:*:*:*:*:*:*:*
Vendors & Products Mmaitre314
Mmaitre314 picklescan
References
Metrics cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Weaknesses
  • CWE-95

    Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Nov 8, 2026, 2:05 PM
Reserved
Jun 10, 2026, 9:23 PM
Status
Deferred
Published
Jun 17, 2026, 5:17 PM
Modified
Oct 26, 2026, 12:10 AM