SECURELYN

CVE-2025-56005

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()` function. This parameter accepts a `.pkl` file that is deserialized with `pickle.load()` without validation. Because `pickle` allows execution of embedded code via `__reduce__()`, an attacker can achieve code execution by passing a malicious pickle file. The parameter is not mentioned in official documentation or the GitHub repository, yet it is active in the PyPI version. This introduces a stealthy backdoor and persistence risk. NOTE:…

Scores

9.8
CVSS 9.8 out of 10, critical severity.
18.8%
EPSS 18.8% chance of exploitation in the next 30 days.

The facts

Published
20 January 2026
Last changed
17 September 2026
NVD status
Modified
Severity
Critical, CVSS 9.8 out of 10 (version 3.1)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
Affects
  • dabeaz ply
Known exploited
Not in the CISA Known Exploited Vulnerabilities catalogue in this build.
EPSS
18.8% chance of exploitation activity in the next 30 days (percentile 97).

Is there a Securelyn advisory?

Not yet. Securelyn writes plain-English advisories for the flaws that matter most to businesses. Subscribe to the digest to hear about them.

References