CVE-2026-78683

9.6

nltk · nltk

The NLTK library contains an unsafe pickle deserialization vulnerability in the TransitionParser, allowing arbitrary code execution when processing malicious model files.

Executive summary

An unsafe deserialization vulnerability in the NLTK library enables remote code execution when an application processes untrusted model files.

Vulnerability

The TransitionParser.parse() method uses the pickle module with restricted=False, which fails to prevent arbitrary class resolution. This allows an attacker to execute arbitrary code with the privileges of the application by providing a crafted model file.

Business impact

This vulnerability allows for full system compromise, including unauthorized code execution, data exfiltration, or total system takeover. With a CVSS score of 9.6, it represents a critical threat to any application that utilizes NLTK to load external model files.

Remediation

Immediate Action: Update NLTK to version 3.10.0 or later to ensure safe deserialization practices are enforced.

Proactive Monitoring: Monitor for unexpected child processes or unusual file system activity originating from the application process during model loading.

Compensating Controls: Implement strict input validation or sandboxing for any model files processed by the application to prevent the loading of malicious payloads.

Exploitation status

Public Exploit Available: No

Analyst recommendation

This is a critical vulnerability that directly impacts the security of any system utilizing NLTK for natural language processing. Organizations must update the library immediately and ensure that all input sources for model files are trusted and verified to prevent potential code execution attacks.

More nltk CVEs