PatchSiren cyber security CVE debrief
CVE-2026-78683 nltk CVE debrief
AI-assisted PatchSiren debrief based on the supplied source corpus. The CVE record was published on 2026-08-25T02:16:53.033Z and has not been modified since then. The NVD entry is currently Analyzed. The NLTK library before version 3.10.0 contains an unsafe pickle deserialization vulnerability in the TransitionParser.parse() method. This method calls pickle_load() with the default restricted=False, allowing for arbitrary class resolution and execution of embedded pickle gadget chains when loading attacker-crafted model files. The vulnerability is caused by the method's use of the WarningUnpickler class, which does not override the find_class() method, thereby permitting arbitrary class resolution. This vulnerability can be exploited by an attacker who can provide a specially crafted model file to a vulnerable application, leading to arbitrary Python code execution with the privileges of the user running the application. Affected versions are <= 3.9.4, and the issue is fixed in version 3.10.0. The vulnerability has a CVSS score of 9.4 and is considered CRITICAL. To verify and mitigate this vulnerability, defenders should review the NLTK library usage in their applications, especially where untrusted input may be processed. They should also ensure that any custom or third-party models used with NLTK are safe and do not contain malicious pickle gadget chains. Developers and administrators using NLTK versions <= 3.9.4 should be aware of this critical vulnerability and take immediate action to patch or mitigate it. This includes reviewing and updating any custom or third-party models used with NLTK, restricting access to sensitive data and systems that use vulnerable NLTK versions, and monitoring for suspicious activity related to NLTK usage. Additionally, security teams and vulnerability management teams should prioritize patching and verifying the safety of NLTK usage in their environments.
- Vendor
- nltk
- Product
- Unknown
- CVSS
- CRITICAL 9.4
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-08-25
- Original CVE updated
- 2026-08-31
- Advisory published
- 2026-08-25
- Advisory updated
- 2026-08-31
Who should care
Developers and administrators using NLTK versions <= 3.9.4 should be aware of this critical vulnerability and take immediate action to patch or mitigate it. This includes reviewing and updating any custom or third-party models used with NLTK, restricting access to sensitive data and systems that use vulnerable NLTK versions, and monitoring for suspicious activity related to NLTK usage. Additionally, security teams and vulnerability management teams should prioritize patching and verifying the safety of NLTK usage in their environments, as the vulnerability has a high CVSS score of 9.4 and is considered CRITICAL.
Technical summary
The NLTK library before version 3.10.0 contains an unsafe pickle deserialization vulnerability in the TransitionParser.parse() method. This method calls pickle_load() with the default restricted=False, allowing for arbitrary class resolution and execution of embedded pickle gadget chains when loading attacker-crafted model files. The vulnerability is caused by the method's use of the WarningUnpickler class, which does not override the find_class() method, thereby permitting arbitrary class resolution. This vulnerability can be exploited by an attacker who can provide a specially crafted model file to a vulnerable application, leading to arbitrary Python code execution with the privileges of the user running the application.
Defensive priority
Critical vulnerability in NLTK's TransitionParser.parse() method allows arbitrary Python code execution via unsafe pickle deserialization; immediate patching recommended.
Recommended defensive actions
- Apply the patch by updating NLTK to version 3.10.0 or later
- Restrict access to sensitive data and systems that use vulnerable NLTK versions
- Monitor for suspicious activity related to NLTK usage
- Review and update any custom or third-party models used with NLTK
- Implement additional security controls, such as input validation and output encoding
Evidence notes
The CVE-2026-78683 vulnerability in NLTK's TransitionParser.parse() method allows for arbitrary Python code execution due to unsafe pickle deserialization. Affected versions are <= 3.9.4, and the issue is fixed in version 3.10.0. The vulnerability has a CVSS score of 9.4 and is considered CRITICAL. To verify and mitigate this vulnerability, defenders should review the NLTK library usage in their applications, especially where untrusted input may be processed. They should also ensure that any custom or third-party models used with NLTK are safe and do not contain malicious pickle gadget chains.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-78683 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-78683
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-78683 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-78683
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/nltk/nltk/security/advisories/GHSA-rhp5-r9x4-f5g2
[email protected] - Exploit, Vendor Advisory
-
Source reference
Unverified legacy reference
URL: https://www.vulncheck.com/advisories/nltk-before-remote-code-execution-via-unsafe-pickle-deserialization
[email protected] - Third Party Advisory
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.