Skip to main content

NLTK EUVDEUVD-2026-64339

| CVE-2026-62383 MEDIUM
Path Traversal (CWE-22)
2026-08-22 VulnCheck GHSA-343m-9fqq-97c7 GHSA-3hhw-38pf-pxj6 PYSEC-2026-3726
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local write access to NLTK corpus root directory
  2. Delivery
    Place symlink named as valid corpus file targeting sensitive path
  3. Exploit
    Application invokes IPIPANCorpusReader method referencing symlink
  4. Execution
    pathsec validation bypassed as symlink is followed
  5. Impact
    Sensitive file contents returned to attacker

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires three concrete preconditions: (1) the attacker has local write access to the specific filesystem directory configured as the NLTK corpus root for an IPIPANCorpusReader instance; (2) the target application instantiates IPIPANCorpusReader and invokes one of the vulnerable methods - channels(), domains(), categories(), or fileids() - during normal operation or in response to attacker-influenced input; (3) NLTK is running at version earlier than 3.10.2. Exploitation is further limited to files readable by the OS user account under which the NLTK process runs; root-owned files are not accessible if the process runs as an unprivileged user. IPIPANCorpusReader is a non-default, specialized reader not instantiated unless explicitly coded, restricting the exposed surface to applications that specifically process IPIPAN Polish corpus data. No network access is required; this is a purely local attack path.

Impact

The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N) accurately characterizes the threat: local access is required, complexity is low once preconditions are met, and low OS-level privileges suffice if the attacker can write to the corpus directory. High confidentiality impact reflects the ability to read any file the NLTK process can access. No EPSS data was provided. There is no KEV listing and no confirmed POC, so this is assessed as no public exploit identified at time of analysis. Real-world priority depends heavily on deployment context: shared research compute environments or multi-tenant NLP pipelines where untrusted users can influence corpus directory contents face meaningful risk, while single-user workstations or containerized inference services with controlled corpus paths face negligible exposure. The specialized nature of IPIPANCorpusReader - a Polish corpus reader not used by default - further narrows the affected population.

Exploit ScenarioDerived

A local attacker with write access to the NLTK corpus root directory creates a symbolic link named to resemble a valid IPIPAN corpus file, pointing the link target to a sensitive path such as /etc/shadow, an SSH private key, or an application secrets file. When the target application subsequently calls IPIPANCorpusReader().fileids() or a similar method that resolves the symlink name, NLTK follows the symlink and returns the contents of the sensitive file without triggering pathsec validation. No public proof-of-concept has been identified at time of analysis, but the technique is mechanically straightforward for any attacker with the necessary write access.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 22, 2026

Symlink-based arbitrary file read in NLTK's IPIPANCorpusReader exposes files accessible to the running process on systems where untrusted local users can write to corpus root directories. Affected NLTK versions before 3.10.2 fail to follow symlinks through the nltk.pathsec validation layer when IPIPANCorpusReader methods - channels(), domains(), categories(), or fileids() - resolve filenames, allowing the symlink target to be read instead of the intended corpus file. No public exploit or CISA KEV listing has been identified at time of analysis; real-world risk is bounded by the local attack vector and the requirement for write access to the corpus directory.

RemediationAI

Upgrade NLTK to version 3.10.2 or later, which introduces proper symlink resolution and validation in IPIPANCorpusReader methods. The vendor advisory at https://github.com/nltk/nltk/security/advisories/GHSA-3hhw-38pf-pxj6 should be consulted for release details. Where an immediate upgrade is not feasible, restrict OS-level write permissions on NLTK corpus root directories to trusted accounts only, preventing untrusted local users from placing symlinks - note this does not fix the underlying flaw but removes the precondition. Additionally, running NLTK processes under a dedicated low-privilege service account minimizes the files exposed via a successful symlink read. Avoid using IPIPANCorpusReader with corpus paths writable by untrusted users as a compensating control until patched.

Affected VersionsENISA

nltk 3.10.0 <3.10.2

Affected Packages

pypi nltk fix: 3.10.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

NLTK (Natural Language Toolkit) is a Python library widely used in NLP research and data science. The IPIPANCorpusReader is a specialized reader for the IPIPAN Polish National Corpus format. The root cause is CWE-22 (Path Traversal via symlink following): the reader's file-resolution logic does not canonicalize or validate symlink targets, allowing an attacker-placed symlink in the corpus root to redirect file reads to arbitrary filesystem paths. Critically, this bypasses nltk.pathsec - NLTK's own path-safety module - entirely, meaning the library's intended defense is silently circumvented for this reader class. The affected CPE is cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:*, covering all platforms and Python versions prior to the fix.

Know when Nltk gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

Local attack requiring write access to corpus directory drives AV:L and PR:L; no integrity or availability impact; scope unchanged as exploit stays within the process boundary.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Red Hat 5.5 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Aug 22, 2026 - 15:01 EUVD

DescriptionCVE.org

nltk versions before 3.10.2 contain a symlink-based arbitrary file read vulnerability in IPIPANCorpusReader methods that bypass nltk.pathsec validation entirely. Attackers can place a symlink in the corpus root directory and read arbitrary files accessible to the process by calling channels(), domains(), categories(), or fileids() methods with the symlink filename.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 6 pypi packages depend on nltk (6 direct, 0 indirect)

Ecosystem-wide dependent count for version 3.10.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
popular Python NLP library in data science and academic environments
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
Poc
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

54
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in Nltk

View all
CVE-2026-79657 CRITICAL POC
9.3 Aug 25

Arbitrary code execution in the Natural Language Toolkit (NLTK) before 3.10.3 allows attackers to bypass the library's p

CVE-2026-78683 CRITICAL POC
9.4 Aug 25

Arbitrary code execution in NLTK (Natural Language Toolkit) through 3.9.4 allows attackers to run Python code when a vic

CVE-2025-14009 HIGH POC
8.8 Feb 18

Arbitrary code execution in the NLTK (Natural Language Toolkit) Python library affects all versions through its data dow

CVE-2026-63312 HIGH POC
8.7 Aug 22

StreamBackedCorpusView in NLTK before 3.10.0 allows arbitrary local file reads by calling Python's builtins.open() direc

CVE-2026-62384 HIGH POC
8.7 Aug 22

Symlink-based path traversal in NLTK's FramenetCorpusReader before version 3.10.2 permits attackers with write access to

CVE-2026-66393 HIGH POC
8.7 Aug 22

Unbounded recursion in NLTK's JSONTaggedDecoder.decode_obj() (nltk/jsontags.py) allows unauthenticated remote attackers

CVE-2026-62388 HIGH POC
8.7 Aug 22

Path traversal and pickle deserialization protections in NLTK before 3.10.0 are effectively disabled by default - pathse

CVE-2026-78681 HIGH POC
8.7 Aug 25

XML Entity Expansion (Billion Laughs) in NLTK before 3.10.3 allows unauthenticated remote attackers to cause denial of s

CVE-2026-78682 HIGH POC
8.7 Aug 25

Server-side request forgery in NLTK before 3.10.3 allows unauthenticated remote attackers to reach internal HTTP service

CVE-2026-70626 HIGH POC
8.6 Aug 22

Symlink escape in NLTK's CorpusReader.open() allows local attackers to read arbitrary files outside the designated corpu

CVE-2026-62385 HIGH POC
8.2 Aug 22

Path traversal in NLTK's FramenetCorpusReader and NKJPCorpusReader (all versions before 3.10.0) enables unauthenticated

CVE-2021-43854 HIGH POC
7.5 Dec 23

NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting research a

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy