{"id":"CVE-2026-78683","title":"NLTK before 3.10.0 (affected versions <=3.9.4) contains an unsafe pickle deserialization vulnerability in the TransitionParser.parse() method (nltk/parse/transitionparser.py)","summary":"NLTK before 3.10.0 (affected versions <=3.9.4) contains an unsafe pickle deserialization vulnerability in the TransitionParser.parse() method (nltk/parse/transitionparser.py). The method calls pickle_load() with the default restricted=Fa…","severity":"critical","cvss":9.6,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H","cwe":["CWE-502"],"vendor":"nltk","product":"nltk","affected":["nltk < 3.10.0"],"patched":["nltk 3.10.0"],"published":"2026-08-25","updated":"2026-10-12","sourceUpdated":"2026-10-12T17:10:00.163","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-78683","references":[{"url":"https://github.com/nltk/nltk/security/advisories/GHSA-rhp5-r9x4-f5g2","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/nltk-before-remote-code-execution-via-unsafe-pickle-deserialization","label":"disclosure@vulncheck.com"},{"url":"https://github.com/nltk/nltk/security/advisories/GHSA-rhp5-r9x4-f5g2","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-78683.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-78683"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2523216"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-78683"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-78683"},{"url":"https://github.com/nltk/nltk/pull/3631"},{"url":"https://github.com/nltk/nltk/commit/f26b3753038d937b68145daf15e9636f8451053c"},{"url":"https://github.com/nltk/nltk"},{"url":"https://github.com/nltk/nltk/releases/tag/v3.10.0"},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/nltk/PYSEC-2026-3734.yaml"},{"url":"https://github.com/advisories/GHSA-rhp5-r9x4-f5g2"},{"url":"https://access.redhat.com/errata/RHSA-2026:84734"}],"tags":["nvd","csaf","vex","red-hat","osv","pip","ghsa"],"epss":0.0051,"epssPercentile":0.43338,"aliases":["GHSA-rhp5-r9x4-f5g2","PYSEC-2026-3734"],"ecosystem":"pip","ingestedAt":"2026-09-02T19:31:24.348Z","slug":"CVE-2026-78683","body":"## Overview\n\nNLTK before 3.10.0 (affected versions <=3.9.4) contains an unsafe pickle deserialization vulnerability in the TransitionParser.parse() method (nltk/parse/transitionparser.py). The method calls pickle_load() with the default restricted=False, routing deserialization through WarningUnpickler, which does not override find_class() and therefore permits arbitrary class resolution. When an application loads an attacker-crafted model file, embedded pickle gadget chains execute arbitrary Python code with the privileges of the user running the application. NLTK provides a RestrictedUnpickler for safe deserialization, but it is not used by production code paths. Fixed in 3.10.0.\n\n## Affected\n\n- `nltk < 3.10.0`\n\n## Remediation\n\nUpgrade past the affected range:\n\n- `nltk 3.10.0`\n\n## Package advisory (CVE-2026-78683)\n\nAffected packages:\n\n- `nltk < 3.10.0`\n\nPatched in:\n\n- `nltk 3.10.0`\n\nSource: https://osv.dev/vulnerability/GHSA-rhp5-r9x4-f5g2\n\n## Vendor advisories\n\n- **Red Hat VEX** · Important · affected: Lightspeed Core, OpenShift Lightspeed, Red Hat Ansible Automation Platform 2 · no fix planned: Red Hat Ansible Automation Platform 2, Lightspeed Core, OpenShift Lightspeed · updated 2026-10-19 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-78683.json)\n- **RHSA-2026:84734** · Red Hat · fixed in: Red Hat OpenShift AI 3.4 · released 2026-10-19 · [advisory](https://access.redhat.com/errata/RHSA-2026:84734)","depth":"midnight","depthScore":53,"depthScoreParts":{"impact":52.8,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[{"seq":213483,"id":"CVE-2026-78683","ts":1790754737478,"field":"cvss","old":null,"new":"9.6"},{"seq":8219,"id":"CVE-2026-78683","ts":1788919993281,"field":"severity","old":"none","new":"critical"},{"seq":8028,"id":"CVE-2026-78683","ts":1788919280627,"field":"severity","old":"critical","new":"none"},{"seq":7837,"id":"CVE-2026-78683","ts":1788916353788,"field":"severity","old":"none","new":"critical"},{"seq":7646,"id":"CVE-2026-78683","ts":1788915297330,"field":"severity","old":"critical","new":"none"},{"seq":7455,"id":"CVE-2026-78683","ts":1788912713366,"field":"severity","old":"none","new":"critical"},{"seq":7264,"id":"CVE-2026-78683","ts":1788911331263,"field":"severity","old":"critical","new":"none"},{"seq":7068,"id":"CVE-2026-78683","ts":1788909076607,"field":"severity","old":"none","new":"critical"},{"seq":6880,"id":"CVE-2026-78683","ts":1788907391375,"field":"severity","old":"critical","new":"none"},{"seq":6682,"id":"CVE-2026-78683","ts":1788905442937,"field":"severity","old":"none","new":"critical"},{"seq":6500,"id":"CVE-2026-78683","ts":1788903459586,"field":"severity","old":"critical","new":"none"},{"seq":6290,"id":"CVE-2026-78683","ts":1788901809909,"field":"severity","old":"none","new":"critical"},{"seq":6120,"id":"CVE-2026-78683","ts":1788899562038,"field":"severity","old":"critical","new":"none"},{"seq":5923,"id":"CVE-2026-78683","ts":1788898179182,"field":"severity","old":"none","new":"critical"},{"seq":5812,"id":"CVE-2026-78683","ts":1788895711064,"field":"severity","old":"critical","new":"none"},{"seq":5678,"id":"CVE-2026-78683","ts":1788894533616,"field":"severity","old":"none","new":"critical"},{"seq":5636,"id":"CVE-2026-78683","ts":1788891871373,"field":"severity","old":"critical","new":"none"},{"seq":5569,"id":"CVE-2026-78683","ts":1788888673065,"field":"severity","old":"none","new":"critical"},{"seq":5560,"id":"CVE-2026-78683","ts":1788888071540,"field":"severity","old":"critical","new":"none"},{"seq":5480,"id":"CVE-2026-78683","ts":1788887288572,"field":"severity","old":"none","new":"critical"}]}