Severity by source
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Malicious pickle delivered over the network bypasses scanner without auth or interaction and yields full code execution on the loader, so PR:N/UI:N and C/I/A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
3DescriptionCVE.org
picklescan before 1.0.4 fails to block at least seven Python standard library modules (including uuid, _osx_support, _aix_support, _pyrepl.pager, and imaplib) exposing eight functions that provide direct arbitrary command execution. Attackers can craft malicious pickle files importing these unblocked modules to achieve remote code execution while bypassing picklescan's safety validation entirely.
Articles & Coverage 1
AnalysisAI
Remote code execution in picklescan versions prior to 1.0.4 allows attackers to bypass the scanner's safety validation by crafting malicious pickle files that import unblocked Python standard library modules. The tool's blocklist (scanner.py _unsafe_globals) omits at least seven stdlib modules - including uuid, _osx_support, _aix_support, _pyrepl.pager, and imaplib - exposing eight functions that execute arbitrary commands via subprocess or os.system. Publicly available exploit code exists in the GHSA advisory, demonstrating CLEAN scan results for files that achieve full RCE on load; this is especially concerning because picklescan is relied on by HuggingFace Hub and similar ML pipelines.
Technical ContextAI
picklescan is a Python utility that statically inspects pickle files for dangerous global imports before deserialization, maintaining an allow/deny list of (module, attribute) pairs in scanner.py. The vulnerability is a classic CWE-184 (Incomplete List of Disallowed Inputs) flaw: the _unsafe_globals dictionary enumerates only ~60 known-dangerous entries and omits several stdlib helpers that themselves wrap subprocess.Popen, os.system, or shell=True invocations. Because pickle's reduce protocol can call any importable callable, an attacker only needs one omitted module-function pair (e.g., uuid._get_command_stdout, imaplib.IMAP4_stream, _pyrepl.pager.pipe_pager) to achieve code execution while the scanner reports zero issues. CPE cpe:2.3:a:picklescan:picklescan:*:*:*:*:*:*:*:* identifies the affected package across all versions ≤ 1.0.3.
RemediationAI
Vendor-released patch: upgrade picklescan to 1.0.4 or later via pip (pip install --upgrade picklescan>=1.0.4), which extends the _unsafe_globals blocklist to cover the missing stdlib modules - see https://github.com/mmaitre314/picklescan/security/advisories/GHSA-g38g-8gr9-h9xp for details. Until the upgrade is rolled out across all model-ingestion pipelines, treat picklescan CLEAN results as untrusted and require an additional control: load pickles only inside a sandbox with no outbound network and no shell, or convert third-party model weights to safetensors before loading to avoid pickle deserialization entirely. Operators of model registries (HuggingFace mirrors, internal ML platforms) should re-scan previously accepted pickle artifacts with 1.0.4 to catch files that passed earlier scans, accepting the trade-off of compute cost and potential false positives on legacy models.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Same weakness CWE-184 – Incomplete List of Disallowed Inputs
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38437
GHSA-g7vj-qw6x-g3p8