CVE-2025-71378

picklescan - Remote Code Execution via Undetected cProfile.runctx in Pickle Files

Published Jun 21, 2026 CVSS 4.0 · 7.6 High EPSS < 1% KEV · Not listed
Description
picklescan before 0.0.30 fails to detect cProfile.runctx function calls in pickle file reduce methods, allowing attackers to execute arbitrary code. Malicious pickle files bypass picklescan detection and execute remote code when loaded via pickle.load().

Analysis

AI-generated

Technical impact

The vulnerability allows an attacker to embed a cProfile.runctx function call in the reduce method of a pickle file, which picklescan fails to detect. When such a malicious pickle is loaded via pickle.load(), arbitrary code execution occurs with the privileges of the process running the load. This flaw is classified as an unsafe serialization issue (CWE-502) and can lead to full compromise of the host system.

Affected Systems

Picklescan is affected in all releases prior to 0.0.30. Any deployment that uses picklescan to load pickle files that may originate from untrusted sources is at risk. The issue is not limited to a specific operating system but applies wherever picklescan is installed.

Risk and Exploitability

The vulnerability carries a CVSS score of 7.6, indicating a high severity. No EPSS score is available, and the flaw is not listed in the CISA KEV catalog. Exploitation requires an attacker to supply or trick an application into loading a crafted pickle file containing the cProfile.runctx call. If the application processes untrusted pickle inputs, the attacker can gain arbitrary code execution on that system. The attack vector is inferred to be an adversary-controlled file or data stream.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade picklescan to version 0.0.30 or later, which includes detection of cProfile.runctx calls.
  • Restrict pickle loading to data from trusted, authenticated sources or implement whitelist checks before calling pickle.load().
  • When possible, replace pickle serialization with safer alternatives such as JSON or protocol buffer formats, or use secure deserialization libraries that validate payload structure.

Generated by OpenCVE AI on June 21, 2026 at 16:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-9w88-8rmg-7g2p Picklescan is missing detection when calling built-in Python cProfile.runctx
History
Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
First Time appeared Picklescan
Picklescan picklescan
Vendors & Products Picklescan
Picklescan picklescan
Type Values Removed Values Added
Description picklescan before 0.0.30 fails to detect cProfile.runctx function calls in pickle file reduce methods, allowing attackers to execute arbitrary code. Malicious pickle files bypass picklescan detection and execute remote code when loaded via pickle.load().
Title picklescan - Remote Code Execution via Undetected cProfile.runctx in Pickle Files
First Time appeared Mmaitre314
Mmaitre314 picklescan
Weaknesses CWE-502
CPEs cpe:2.3:a:mmaitre314:picklescan:*:*:*:*:*:*:*:*
Vendors & Products Mmaitre314
Mmaitre314 picklescan
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N'}

cvssV4_0

{'score': 7.6, 'vector': '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'}

Weaknesses
  • CWE-502

    Deserialization of Untrusted Data

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Nov 8, 2026, 2:00 PM
Reserved
Jun 20, 2026, 1:11 PM
Status
Analyzed
Published
Jun 21, 2026, 2:16 PM
Modified
Oct 12, 2026, 10:10 PM