CVE catalog

CVE-2025-56005

ply: CVE-2025-56005

[CVE catalog]

Severity
Critical · CVSS 9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Published
Source
[NVD] · [CVE record]
EPSS
18.81% · Oct 25, 2026

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.

Vulnerable and fixed packages

Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.

DistributionPackageReleaseVersionStatus
Debianplysid3.11-12vulnerable
Debianplyforky3.11-12vulnerable
Debianplytrixie3.11-9vulnerable
Debianplybookworm3.11-5vulnerable
CpeplyNot reportedNot reportedunknown
Ubuntuply16.043.7-1vulnerable
Ubuntuply18.043.9-1vulnerable
Ubuntuply18.043.11-1vulnerable
Ubuntuply20.043.11-3vulnerable
Ubuntuply20.043.11-3build1vulnerable
Ubuntuply20.043.11-3ubuntu0.1vulnerable
Ubuntuply22.043.11-4ubuntu1vulnerable
Ubuntuply22.043.11-5vulnerable
Ubuntuply24.043.11-5vulnerable
Ubuntuply24.043.11-6vulnerable
Ubuntuply25.103.11-9vulnerable
Opensusepython-jsonpath-ngtumbleweed1.8.0-1.1fixed

Fixed-version evidence

DistributionPackageTypeReleaseFixed versionUrgencyOriginBugs
Debianplysourcesid(unfixed)unimportantNot reportedNot reported
Debianplysourceforky(unfixed)unimportantNot reportedNot reported
Debianplysourcetrixie(unfixed)unimportantNot reportedNot reported
Debianplysourcebookworm(unfixed)unimportantNot reportedNot reported
Opensusepython-jsonpath-ngrpmtumbleweed1.8.0-1.1Not reportedOPENSUSE-SU-2026:10418-1Not reported

OpenFactory catalog packages

[Debian 12 (Bookworm)]

  • [python3-ply]Affected

    Source package: [ply]

    Details (2)
    • 3.11-5 · all · bookworm

      Affected

      dsa · ply · debian · bookworm; dsa · ply · debian · 12

    • 3.11-5 · all · bookworm

      Affected

      dsa · ply · debian · bookworm; dsa · ply · debian · 12

  • [python-ply-doc]Affected

    Source package: [ply]

    Details (2)
    • 3.11-5 · all · bookworm

      Affected

      dsa · ply · debian · bookworm; dsa · ply · debian · 12

    • 3.11-5 · all · bookworm

      Affected

      dsa · ply · debian · bookworm; dsa · ply · debian · 12

[Debian 13 (Trixie)]

  • [ply]Affected

    Source package: [ply-probe]

    Details (2)
    • 2.4.0-1 · amd64 · trixie

      Affected

      dsa · ply · debian · 13

    • 2.4.0-1 · arm64 · trixie

      Affected

      dsa · ply · debian · 13

  • [python3-ply]Affected

    Source package: [ply]

    Details (2)
    • 3.11-9 · all · trixie

      Affected

      dsa · ply · debian · 13

    • 3.11-9 · all · trixie

      Affected

      dsa · ply · debian · 13

  • [python-ply-doc]Affected

    Source package: [ply]

    Details (2)
    • 3.11-9 · all · trixie

      Affected

      dsa · ply · debian · 13

    • 3.11-9 · all · trixie

      Affected

      dsa · ply · debian · 13

[openSUSE Tumbleweed]

  • Source package: [python-jsonpath-ng]

    Details (1)
    • 1.8.0-1.3 · noarch · tumbleweed

      Unknown · Fixed: 1.8.0-1.1

      Version impact unknown

      dsa · python-jsonpath-ng · opensuse · tumbleweed

  • Source package: [python-jsonpath-ng]

    Details (1)
    • 1.8.0-1.3 · noarch · tumbleweed

      Unknown · Fixed: 1.8.0-1.1

      Version impact unknown

      dsa · python-jsonpath-ng · opensuse · tumbleweed

Observed:

References