CVE-2025-56005Disclosure(dabeaz / ply)

LOWCVSS 9.8 · CRITICAL

Exploit discussion active in current signal (1 latest mentions)

Immediate actions

  • Patch dabeaz ply systems immediately
  • Hunt for exploitation attempts and persistence artifacts
  • Increase monitoring for publicly documented tradecraft

Recommended action window: High priority (within 72h)

NVD 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. NOTE: A third-party states that this vulnerability should be rejected because the proof of concept does not demonstrate arbitrary code execution and fails to complete successfully.

2.0/ 10 priority

Sources & remediation

Weakness type (CWE)
CWE-502

Priority

LOW

Exploitation

NONE

PoC

YES

Patch

AVAILABLE

Momentum

STABLE

Are you affected?

If you run products in this scope, you should treat this CVE as relevant to your environment.

  • ply

Threat summary

  • Public PoC is present in monitored signal
  • Patch or workaround signal is available
  • 3 mentions across 3 observed days
  • Momentum state: stable

What's happening

  • PoC mentioned or linked in 1 signal
  • Patch or workaround mentioned in 1 signal
  • Technical details provided in 3 signals
  • Disclosure: 1 classified signal
  • False Positive: 1 classified signal
  • Peaked 2d ago at 1 mentions (2026-01-28); latest day: 1
  • 3 total mentions across 3 days

Affected systems

Vendors
Products
ply

1 version affected across 1 product

Deep dive

Activity timeline3 mentions / 3d
00111Mentions · 2026-01-28: 1Mentions · 2026-01-29: 1Mentions · 2026-02-08: 1PoC Mentioned / Linked · 2026-01-29: 1Patch / Workaround · 2026-01-29: 1Technical Details · 2026-01-28: 1Technical Details · 2026-01-29: 1Technical Details · 2026-02-08: 101-2801-2902-08
Signal classification3 categories
Disclosure
133.3%
Patch
133.3%
False Positive
133.3%
Referenced assets2 URLs
By indicator
Classification over time
DateTotalLabels
2026-01-281
Disclosure1
2026-01-291
Patch1
2026-02-081
False Positive1
Full discourse3 posts
  • Open Source Security mailing list@oss_security
    False Positive

    "CVE-2025-56005: PLY (Python Lex‑Yacc): Undocumented RCE via picklefile Parameter" is disputed https://www.openwall.com/lists/oss-security/2026/01/30/1 TL;DR: CVE-2025-56005 is a nothingburger. Calling this "remote" is nonsense. Doubt this advisory was written in good faith. Just a missing hardening opportunity.

    Post summary

    The post disputes CVE‑2025‑56005, labeling it a false claim of remote exploitation and framing it as merely a missing hardening issue.

    00020242
    4.4K followersView on X
  • Ostorlab@OstorlabSec
    Patch

    🚨 CVE-2025-56005 : PYTHON PLY REMOTE CODE EXECUTION VIA PICKLE DESERIALIZATION ALERT 🚨 @PLY A critical deserialization flaw has been identified in PLY (Python Lex-Yacc) 3.11 — allowing unauthenticated remote attackers to achieve arbitrary code execution when attacker-controlled data reaches the picklefile load path in yacc.yacc(). Risk Severity: Critical (reported CVSS ~9.8; public PoC trending; rapid weaponization likely). Impact: • Arbitrary code execution as the Python service user (often CI runner / build agent / app service account) • Credential + secret theft (env vars, tokens, SSH keys, artifact signing material) • Supply-chain poisoning (tampered build outputs, injected code into produced artifacts) • Persistence & lateral movement (backdoors, miners, ransomware deployment potential) Root Cause: CWE-502 (Deserialization of Untrusted Data) PLY can deserialize attacker-controlled pickle content via an (often overlooked/undocumented) caching pathway tied to the picklefile parameter, and pickle can execute code during load via crafted objects (e.g., __reduce__). Attackers can: • Reach an app/CI service that uses PLY 3.11 to process external grammar/config inputs • Cause the service to load a malicious pickle file through the picklefile caching mechanism[ citation:1] • Trigger code execution during pickle.load() (payload executes at deserialization time) • Run OS commands, drop backdoors, or tamper with pipelines/artifacts depending on privileges[ citation:2] Are You Affected? Vulnerable: • PLY 3.11 (confirmed affected in public advisories). • Highest risk where PLY-backed parsing is exposed via web endpoints, multi-tenant platforms, CI/CD, build automation, or config/grammar repos. Fixed in: • No confirmed upstream fixed version is consistently documented across advisories as of now—treat as unpatched unless your vendor distro indicates otherwise. Note: If your deployment never accepts untrusted grammar/config and you can guarantee picklefile cannot be influenced (directly or indirectly), exposure drops—but CI/CD and “config-as-code” environments frequently violate this assumption. Immediate Action Required: Update/Patch: • Monitor upstream + your distro advisories for a patched release; upgrade immediately once available. Mitigation (do now): • Audit all yacc.yacc() call sites and ensure picklefile cannot be set from user input, repos, or tenant-controlled config. • Disable parser table pickling/caching where possible (or force the cache path to a trusted, immutable location). • For internet-facing parsing endpoints: block requests containing picklefile= and similar parameter injection patterns at the edge/WAF (defense-in-depth). Audit & Monitor: • Hunt for picklefile usage in code + logs; monitor creation/access of .pkl/pickle artifacts in parser/cache directories. • Monitor Python services for suspicious child process execution, unexpected outbound traffic, and new persistence mechanisms. Incident Response: • Assume full host compromise if an exposed service processed untrusted inputs and a malicious pickle could be loaded—isolate, capture forensics, and rotate all reachable credentials (CI tokens, deploy keys, artifact signing keys). PLY 3.11 should be treated as a high-value RCE primitive anywhere untrusted parsing inputs exist—mitigate immediately and plan migration/patching without delay #ply #security #ostorlabCVE

    Post summary

    A critical deserialization flaw in PLY 3.11 allows remote code execution via malicious pickle files; no patch is yet available, so immediate mitigations and monitoring are recommended.

    00011229
    581 followersView on X
  • eSecurityPlanet@eSecurityPlanet
    Disclosure

    CVE-2025-56005: Python PLY Flaw Enables Remote Code Execution https://bit.ly/3Zpg9Dv

    Post summary

    An advisory has been published for CVE‑2025‑56005, a Python PLY flaw that allows remote code execution.

    00000244
    6.9K followersView on X
CPE platform detail1 entries

1 of 1 entries

PartVendorProductVersionTarget SWTarget HW
Appdabeazply3.11--

Explore more