Bug 2431308 (CVE-2025-56005)

Summary: CVE-2025-56005 ply: python-ply: Unsafe pickle file handling in Ply
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: aadhikar, akhatavk, amctagga, anjoseph, aoconnor, aos-team-art-private, aruklets, asdas, bbrownin, bdettelb, bniver, bsmejkal, cahl, carogers, dfreiber, doconnor, dpaolell, drow, dschmidt, dymurray, eglynn, erezende, flucifre, gmeno, groman, haoli, hkataria, ibolton, jachapma, jajackso, jburrell, jcammara, jdelft, jjoyce, jlanda, jmatthew, jmitchel, jmontleo, jneedle, jprabhak, jpretori, jsamir, jschluet, jupierce, jwong, kbempah, kegrant, koliveir, kshier, lgarciaa, lhh, ljawale, luizcosta, mabashia, manissin, mattdavi, mbenjamin, mbiarnes, mburns, mgarciac, mhackett, mreynolds, mrunge, msilmser, nweather, omaciel, pakotvan, pbraun, pgaikwad, ppalepu, ppostler, prdhamdh, progier, rbobbitt, rhel-process-autobot, rjohnson, sghai, shvarugh, sidsharm, simaishi, slucidi, smcdonal, snegrini, solenoci, sostapov, spichugi, sseago, ssidhaye, stcannon, sthirugn, suppawar, tbordaz, teagle, tfister, thavo, vashirov, vereddy, vimartin, vkumar, vlaad, watson-tool-maintainers, wtam, yguenane
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
An arbitrary code execution vulnerability was discovered in PLY (Python Lex-Yacc). When an application uses PLY's undocumented picklefile parameter to load cached parser data, the library deserializes the pickle file without validation. If an attacker can supply or modify the pickle file being loaded, they can embed malicious code that executes automatically during the deserialization process, potentially allowing them to run arbitrary commands on the affected system.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2431973, 2431974, 2431975, 2431976, 2431977, 2431978, 2431980, 2431981, 2437978, 2437979, 2437980, 2437981    
Bug Blocks:    

Description OSIDB Bzimport 2026-01-20 19:01:20 UTC
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.