Miggo Logo

CVE-2025-1945:
Zip Flag Bit Exploit Crashes Picklescan But Not PyTorch

5.3

CVSS Score
4.0

Basic Information

EPSS Score
0.21418%
Published
3/10/2025
Updated
3/10/2025
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:L/SC:N/SI:L/SA:L/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
Package NameEcosystemVulnerable VersionsFirst Patched Version
picklescanpip< 0.0.230.0.23

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from PickleScan's reliance on Python's zipfile module which strictly validated ZIP flag bits. The key vulnerable function was scan_zip_bytes in scanner.py that used zipfile.ZipFile directly. When flag bits like 0x1/0x20/0x40 were set, zipfile.ZipFile.open() would raise exceptions during header parsing, preventing PickleScan from examining the malicious pickle files. The patch replaced zipfile.ZipFile with a custom RelaxedZipFile implementation in scanner.py to tolerate these flags, confirming this was the primary vulnerability vector. The secondary mention of zipfile.ZipFile.open reflects the root cause in the dependency's behavior.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Summ*ry Pi*kl*S**n **ils to **t**t m*li*ious pi*kl* *il*s insi** PyTor** mo**l *r**iv*s w**n **rt*in ZIP *il* *l** *its *r* mo*i*i**. *y *lippin* sp**i*i* *its in t** ZIP *il* *****rs, *n *tt**k*r **n *m*** m*li*ious pi*kl* *il*s t**t r*m*in un*

Reasoning

T** vuln*r**ility st*mm** *rom Pi*kl*S**n's r*li*n** on Pyt*on's zip*il* mo*ul* w*i** stri*tly v*li**t** ZIP *l** *its. T** k*y vuln*r**l* *un*tion w*s s**n_zip_*yt*s in s**nn*r.py t**t us** zip*il*.Zip*il* *ir**tly. W**n *l** *its lik* *x*/*x**/*x**