CVE-2025-56005CWE-502insecure-deserialization

CVE-2025-56005

Critical · published January 21, 2026

CVSS v3.1
9.8
EPSS
19%
Percentile
97.3
In the wild
Unconfirmed
What it is

🔥 An undocumented feature in the PLY library lets attackers execute any code they want—just by passing a sneaky `.pkl` file! Think of this like a secret door in a hotel that the staff forgot to mention. Anyone with the right trick can slip in undetected, just like the malicious pickle file can gain entry into your code without validation. An attacker could leverage this vulnerability to run arbitrary code on your system, potentially leading to data breaches, unauthorized access, or total system compromise. This means they could steal sensitive information, change your application behavior, or even deploy malware—all from just a crafty `.pkl` file!

Put simply

Think of this like a secret door in a hotel that the staff forgot to mention. Anyone with the right trick can slip in undetected, just like the malicious pickle file can gain entry into your code without validation. This critical vulnerability in the PLY library occurs because the `picklefile` parameter in the `yacc()` function deserializes input using `pickle.load()` without any security checks, allowing execution of embedded code while the feature remains undocumented and active in PyPI.

What to do

An attacker could leverage this vulnerability to run arbitrary code on your system, potentially leading to data breaches, unauthorized access, or total system compromise. This means they could steal sensitive information, change your application behavior, or even deploy malware—all from just a crafty `.pkl` file! Immediately patch your PLY library to a secure version, if available. Review your code to remove any reliance on the `picklefile` parameter, and consider using safer alternatives for serialization like JSON. Conduct a full audit of your codebase to identify other potential risks. You've got this! With these steps, you’ll be back to securing your applications in no time! 🛡️

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.18807 · 97.3th percentile
Weakness
CWE-502 · Deserialization of Untrusted Data
Published
2026-01-21T00:15Z
Affected products (1)
ProductVersionsFixed in
dabeaz/plyall versions—
References (13)
EPSS history
Timeline
  • 20 JAN 00:00Z
    An undocumented and unsafe feature in the PLY (Python Lex-Yacc) library 3.11 allows Remote Code Execution (RCE) via the `picklefile` parameter in the `yacc()`…
    cvelistv5