PatchSiren

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.