Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify service exposing NLTK model-loading API
-
DeliveryCraft path traversal payload (e.g., ../../sensitive/file)
-
ExploitSubmit crafted path to affected API endpoint
-
ExecutionAPI bypasses pathsec, performs raw file I/O
-
ImpactRead or write files outside sandbox root
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File name/path control
|
| Exploitation Conditions | Exploitation is contingent on the target application having pathsec actively enabled - without pathsec, there is no security boundary to bypass and the behavior is consistent with intended operation. The attacker must be able to supply or influence the file path argument passed to one of the four affected APIs (TransitionParser, AveragedPerceptron, PerceptronTagger, or maxent parameter loading); if all model paths are operator-hardcoded, exploitation is not possible regardless of network access. Network-level reachability to a service exposing these APIs is required (AV:N). The CVSS AC:H and AT:P metrics indicate that the attack is not trivially reproducible against arbitrary deployments and requires a specific configuration intersection. Exploitation is further bounded by the OS-level permissions of the NLTK process - a containerized or low-privilege process limits what can be reached even if the pathsec bypass succeeds. |
| Impact | The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:L/VA:L) presents a nuanced risk picture. Network reachability with no required privileges (PR:N, UI:N) is the most alarming signal, but high attack complexity (AC:H) and specific attack prerequisites (AT:P) substantially constrain realistic exploitability - the AT:P metric directly reflects the requirement that pathsec must be deployed and active for the bypass to constitute a security violation. The dominant impact is high confidentiality loss (VC:H), with only minor integrity and availability consequences. No EPSS score was provided in source data, and neither a CISA KEV listing nor a public proof-of-concept has been identified, indicating no confirmed widespread or automated exploitation at this time. Real-world priority depends heavily on deployment pattern: applications that expose NLTK model-loading APIs to external or untrusted input face meaningful arbitrary file-read risk, while offline research or tightly sandboxed deployments are substantially lower priority. The pathsec prerequisite is a genuine limiting factor - environments not using pathsec as a security boundary are outside the intended threat model of this control bypass. |
| Exploit ScenarioDerived | An attacker submits a crafted model path containing traversal sequences (e.g., '../../../../etc/passwd' or an absolute path) to a web application or ML inference endpoint that calls NLTK's PerceptronTagger or TransitionParser model-loading API with user-influenced input. Because these APIs bypass pathsec and perform raw file reads, the NLTK process reads the targeted file and returns or caches its contents, leaking sensitive configuration, credentials, or private data outside the intended sandbox root. No public proof-of-concept exploit has been identified, but the technique is well-understood and requires no specialized tooling beyond crafted path strings. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Path traversal in NLTK through version 3.10.3 allows attackers who control caller-supplied file paths to read or write files outside the boundaries enforced by the pathsec sandbox module. The affected APIs - TransitionParser, AveragedPerceptron, PerceptronTagger, and maxent parameter loading - perform raw file I/O directly on caller-provided paths without routing through pathsec enforcement, undermining the intended access control boundary. The CVSS 4.0 score of 8.3 reflects high confidentiality impact; no public exploit code or CISA KEV listing has been identified at time of analysis.
RemediationAI
Upgrade NLTK to a release beyond 3.10.3 once a patched version is published; consult the vendor advisory at https://github.com/nltk/nltk/security/advisories/GHSA-8mgp-746c-j5xp for the exact fix version, which was not independently confirmed in available source data. As an immediate compensating control, applications should validate and sanitize all caller-supplied model paths before passing them to any of the four affected APIs - specifically reject inputs containing path traversal sequences ('../', absolute paths, or symbolic links resolving outside the permitted root). Restricting the OS-level filesystem permissions of the NLTK process to a minimal working directory limits the blast radius of any successful traversal. The most complete mitigation short of patching is to ensure untrusted external input cannot influence paths passed to NLTK model-artifact APIs, either by treating model paths as operator-controlled configuration rather than user input, or by interposing a strict allowlist of permitted model filenames before any API call.
Affected VersionsENISA
Affected Packages
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), identified by CPE cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:*, is a widely-used Python library for natural language processing tasks. Its model-artifact APIs - including TransitionParser, AveragedPerceptron, PerceptronTagger, and maxent parameter loading - accept filesystem paths from callers to load pre-trained models. The pathsec module is NLTK's built-in mechanism for enforcing sandbox root boundaries, intended to restrict file access to permitted directories. The root cause is CWE-73 (External Control of File Name or Path): these four APIs bypass pathsec entirely by executing raw file operations on caller-controlled paths rather than delegating to the enforcement layer. This allows crafted path inputs containing traversal sequences (e.g., '../../', absolute paths, or symlink chains) to escape the configured sandbox root and reach arbitrary filesystem locations accessible to the NLTK process.
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
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N
Network-reachable with no authentication required but high complexity due to pathsec configuration prerequisite; confidentiality impact dominates with only limited write exposure and no meaningful availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
NLTK through 3.10.3 contains a path traversal vulnerability in model-artifact APIs that bypass pathsec enforcement by using raw file operations on caller-controlled paths. Attackers can read or write files outside allowed sandbox roots through TransitionParser, AveragedPerceptron, PerceptronTagger, and maxent parameter APIs when pathsec is enabled.
Blast Radius
ecosystem impact- 6,216 pypi packages depend on nltk (3,092 direct, 3,205 indirect)
Ecosystem-wide dependent count for version 3.10.3.
Executive ViewAI
NLTK versions through 3.10.3 contain a path traversal vulnerability enabling unauthorized file system access on servers running the library. Organizations relying on NLTK for natural language processing face immediate risk of data theft or system compromise, with no vendor patch available as of now.
No vendor-released patch identified at time of analysis. Interim mitigations: enforce least-privilege file system permissions on all NLTK-running systems, use OS-level sandboxing to restrict file access to strictly required directories, implement input validation to reject suspicious file paths before reaching NLTK code, enable detailed file access auditing to detect anomalous behavior, and isolate NLTK services from sensitive data storage where feasible. Monitor file system access logs for signs of exploitation.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Arbitrary code execution in the Natural Language Toolkit (NLTK) before 3.10.3 allows attackers to bypass the library's p
Arbitrary code execution in NLTK (Natural Language Toolkit) through 3.9.4 allows attackers to run Python code when a vic
Arbitrary code execution in the NLTK (Natural Language Toolkit) Python library affects all versions through its data dow
StreamBackedCorpusView in NLTK before 3.10.0 allows arbitrary local file reads by calling Python's builtins.open() direc
Symlink-based path traversal in NLTK's FramenetCorpusReader before version 3.10.2 permits attackers with write access to
Unbounded recursion in NLTK's JSONTaggedDecoder.decode_obj() (nltk/jsontags.py) allows unauthenticated remote attackers
Path traversal and pickle deserialization protections in NLTK before 3.10.0 are effectively disabled by default - pathse
XML Entity Expansion (Billion Laughs) in NLTK before 3.10.3 allows unauthenticated remote attackers to cause denial of s
Server-side request forgery in NLTK before 3.10.3 allows unauthenticated remote attackers to reach internal HTTP service
Symlink escape in NLTK's CorpusReader.open() allows local attackers to read arbitrary files outside the designated corpu
Path traversal in NLTK's FramenetCorpusReader and NKJPCorpusReader (all versions before 3.10.0) enables unauthenticated
NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting research a
EUVD-2026-67076
GHSA-8mgp-746c-j5xp
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB