# CVE-2025-71321: Picklescan arbitrary file write via distutils blocklist bypass

Source: https://junglewise.ai/threats/cve-2025-71321-picklescan-arbitrary-file-write-via-distutils-blocklist-bypass  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-06-17. Updated: 2026-06-20  
License: CC BY 4.0 with a link back

CVE-2025-71321 · Severity: critical · CVSS 9.8 · Published 2026-06-17

Picklescan is a security tool designed to scan Python pickle files for malicious code. A vulnerability was discovered where the tool fails to block certain Python modules, allowing a specially crafted file to bypass security checks and overwrite critical system files. This could allow an attacker to gain remote control of a system or cause a service outage by corrupting configuration files.

Technologies: [picklescan (PyPI)](https://junglewise.ai/threats/technologies/picklescan). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2025-71321 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2025-71321 being exploited in the wild.

**How severe is CVE-2025-71321?** Critical severity, with a CVSS score of 9.8, published 17 June 2026.

**Which products and versions are affected?** picklescan (PyPI) < 0.0.33, ECOSYSTEM:introduced=0,fixed=0.0.33.

**Is there a fix for CVE-2025-71321?** Yes. picklescan (PyPI): upgrade to 0.0.33 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2025-71321 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2025-71321?** Check whether you run picklescan (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- picklescan (PyPI): upgrade to 0.0.33 or later

  ```sh
  pip install "picklescan>=0.0.33"
  ```


## Technical details

A deserialization vulnerability (CWE-502) exists in picklescan versions prior to 0.0.33. While the tool maintains a blocklist of dangerous functions like open() and shutil to prevent file manipulation, it failed to include the distutils module. An attacker can exploit this by crafting a malicious pickle object that utilizes distutils.file_util.write_file. When scanned or processed, this bypasses the security filters, enabling arbitrary file writes. This can lead to remote code execution (RCE) by overwriting sensitive files such as SSH authorized_keys or application configurations. The issue is resolved in version 0.0.33 by adding distutils to the blocklist.

## Affected products

- picklescan picklescan < 0.0.33

## Identifiers

- CVE-2025-71321
- GHSA-m273-6v24-x4m4
- PYSEC-2026-1791

## Timeline

- 2025-12-26: advisory: GitHub Security Advisory published
- 2026-06-17: disclosed: NVD publication and CVE assignment

## References

- [https://github.com/mmaitre314/picklescan/security/advisories/GHSA-m273-6v24-x4m4](https://github.com/mmaitre314/picklescan/security/advisories/GHSA-m273-6v24-x4m4)
- [https://www.vulncheck.com/advisories/picklescan-arbitrary-file-writing-via-distutils-module-bypass](https://www.vulncheck.com/advisories/picklescan-arbitrary-file-writing-via-distutils-module-bypass)

## Related threats

- [picklescan detection bypass via _operator.methodcaller](https://junglewise.ai/threats/cve-2025-71375-picklescan-detection-bypass-via-operator-methodcaller)
- [picklescan security bypass via operator.methodcaller](https://junglewise.ai/threats/cve-2025-71373-picklescan-security-bypass-via-operator-methodcaller)
- [Picklescan detection bypass via numpy getlincoef gadget](https://junglewise.ai/threats/cve-2025-71372-picklescan-detection-bypass-via-numpy-getlincoef-gadget)
- [picklescan safety check bypass via PyTorch decoder basichandlers](https://junglewise.ai/threats/cve-2025-71369-picklescan-safety-check-bypass-via-pytorch-decoder-basichandlers)
- [picklescan security bypass via _operator.attrgetter function call](https://junglewise.ai/threats/cve-2025-71367-picklescan-security-bypass-via-operator-attrgetter-function-call)
