Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…

CVE-2025-56005: n/a

0
Critical
VulnerabilityCVE-2025-56005cvecve-2025-56005
Published: Tue Jan 20 2026 (01/20/2026, 00:00:00 UTC)
Source: CVE Database V5

Description

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.

AI-Powered Analysis

AILast updated: 01/20/2026, 18:50:33 UTC

Technical Analysis

The PLY library, widely used for lexical analysis and parsing in Python applications, contains an undocumented feature in its `yacc()` function that accepts a `picklefile` parameter. This parameter allows the function to load a serialized Python object from a `.pkl` file using `pickle.load()`. The `pickle` module is inherently unsafe when loading data from untrusted sources because it can execute arbitrary code during deserialization through the `__reduce__()` method. Since the `picklefile` parameter is not documented in official PLY documentation or its GitHub repository but is present in the PyPI-distributed version 3.11, this creates a hidden attack surface. An attacker who can supply or influence the `.pkl` file passed to `yacc()` can execute arbitrary code remotely, leading to full system compromise. The vulnerability is particularly dangerous because it can be exploited without authentication if the application processes untrusted pickle files, and the stealthy nature of the undocumented parameter complicates detection and mitigation. No patches or fixes have been officially released yet, and no public exploits have been observed, but the risk remains high due to the ease of exploitation and potential impact.

Potential Impact

European organizations using Python applications that incorporate PLY 3.11 for parsing or compilation tasks are at risk of remote code execution if they process untrusted or attacker-controlled pickle files via the undocumented `picklefile` parameter. This could lead to unauthorized system access, data theft, disruption of services, or establishment of persistent backdoors. Industries relying on automated code analysis, compilers, or data processing pipelines that use PLY may face operational disruptions and reputational damage. The stealthy nature of the vulnerability increases the likelihood of prolonged undetected exploitation. Given the widespread use of Python in European tech sectors, including finance, manufacturing, and government, the potential impact is significant. Attackers could leverage this vulnerability to target critical infrastructure or intellectual property, especially in countries with strong software development ecosystems.

Mitigation Recommendations

Organizations should immediately audit their use of PLY 3.11 to identify any invocation of the `yacc()` function with the `picklefile` parameter. Since this parameter is undocumented, code reviews and static analysis tools should be employed to detect its usage. Until an official patch is released, avoid passing untrusted pickle files to `yacc()`. If possible, disable or remove support for the `picklefile` parameter by patching the library locally or switching to a safer parsing alternative. Implement strict input validation and sandboxing for any deserialization operations. Monitor systems for unusual process executions or network activity that could indicate exploitation attempts. Additionally, maintain up-to-date backups and incident response plans tailored to potential RCE incidents. Engage with the PLY maintainers and community for updates and patches.

Need more detailed analysis?Upgrade to Pro Console

Technical Details

Data Version
5.2
Assigner Short Name
mitre
Date Reserved
2025-08-16T00:00:00.000Z
Cvss Version
null
State
PUBLISHED

Threat ID: 696fcb0c4623b1157c474bca

Added to database: 1/20/2026, 6:35:56 PM

Last enriched: 1/20/2026, 6:50:33 PM

Last updated: 1/20/2026, 7:39:04 PM

Views: 3

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats