CVE-2026-70626
Received Received - Intake

NLTK Symlink Escape Vulnerability Before 3.9.4

Vulnerability report for CVE-2026-70626, 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 versions before 3.9.4 contain a symlink escape vulnerability in CorpusReader.open() that allows local attackers to read arbitrary files outside the corpus root. The vulnerability exists because path validation is lexical and does not account for symlink resolution, enabling attackers to place symlinks inside the corpus root to access files outside the intended boundary.

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 1 associated CPE
Vendor Product Version / Range
nltk nltk to 3.9.4 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-59 The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects NLTK versions before 3.9.4. It allows local attackers to read arbitrary files outside the intended corpus root directory through a symlink escape in the CorpusReader.open() function. The issue occurs because path validation is lexical and does not consider symlink resolution, enabling attackers to place symlinks inside the corpus root that point to files outside the allowed boundary.

Detection Guidance

To detect this vulnerability, check the installed NLTK version using pip show nltk. If the version is less than 3.9.4, the system is vulnerable. Additionally, review any custom NLTK corpus readers for improper symlink handling in CorpusReader.open().

Commands: pip show nltk | grep Version; find / -type l -name '*.txt' 2>/dev/null | xargs ls -l 2>/dev/null

Impact Analysis

An attacker could exploit this to read sensitive files such as application secrets, configuration files, or system files accessible by the application user. This could lead to unauthorized data exposure, potential privilege escalation, or further attacks if sensitive information is compromised.

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive data, violating compliance requirements for data protection such as GDPR or HIPAA. Exposure of personal or health information may result in legal penalties, reputational damage, and loss of trust due to non-compliance with regulatory standards.

Mitigation Strategies

Upgrade NLTK to version 3.9.4 or later immediately using pip install --upgrade nltk. Review and restrict write permissions to NLTK corpus directories to prevent symlink creation. Audit applications using NLTK for exposed sensitive files.

Chat Assistant

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

EPSS Chart