CVE-2026-71513
Received Received - Intake

Remote Code Execution in NLTK via AllowlistUnpickler

Vulnerability report for CVE-2026-71513, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-22

Last updated on: 2026-08-22

Assigner: VulnCheck

Description

NLTK before 3.10.3 contains a remote code execution vulnerability in AllowlistUnpickler that validates only the pickle module string and not the global name, allowing attackers to resolve dotted names by attribute traversal to callables outside the allowlisted namespace. Attackers can craft untrusted transition-parser models that execute arbitrary commands when TransitionParser.parse loads the model through allowlisted_pickle_load.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-22
Last Modified
2026-08-22
Generated
2026-08-22
AI Q&A
2026-08-22
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
nltk nltk From 3.10.0 (inc) to 3.10.3 (exc)
nltk nltk 3.10.3

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-502 The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a remote code execution (RCE) flaw in NLTK versions before 3.10.3. It exists in the AllowlistUnpickler class which only checks the pickle module string and not the global name. Attackers can bypass restrictions using dotted names to traverse attributes and access callables outside the allowlisted namespace. This allows execution of arbitrary commands when TransitionParser.parse loads a crafted untrusted model.

Detection Guidance

Check NLTK version with pip show nltk. If version is below 3.10.3, the system is vulnerable. Review pickle file handling in applications using NLTK, particularly TransitionParser.parse and allowlisted_pickle_load functions.

Impact Analysis

If you use NLTK versions 3.10.0 through 3.10.2, an attacker could exploit this to run arbitrary code on your system by tricking you into loading a malicious pickle file or model. This could lead to data theft, system compromise, or further network attacks depending on your environment.

Compliance Impact

This vulnerability could lead to unauthorized code execution, potentially causing data breaches or loss of sensitive information. This may violate GDPR's data protection requirements or HIPAA's security rules for protected health information, depending on the data processed by the affected NLTK application.

Mitigation Strategies

Upgrade NLTK to version 3.10.3 or later immediately. Review and restrict pickle file sources in applications. Replace AllowlistUnpickler with RestrictedUnpickler where possible. Audit all pickle loading functions for unsafe deserialization.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-71513. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart