Skip to main content

NLTK EUVDEUVD-2026-65226

| CVE-2026-78680 HIGH
Untrusted Search Path (CWE-426)
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain write access to target CWD or PATH entry
  2. Delivery
    Place malicious executable named 'dot' in controlled directory
  3. Exploit
    Trigger NLTK dot-dependent function (dot2img or _repr_svg_)
  4. Execution
    OS resolves bare 'dot' name to malicious binary
  5. Impact
    Arbitrary code executes under NLTK process privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V13 - Configuration Search path verification
Exploitation Conditions

Exploitation requires that the attacker control either (a) the current working directory at the time one of the two vulnerable NLTK functions is invoked - on Windows this is sufficient by default due to CWD-first binary resolution - or (b) a relative entry in the PATH environment variable on Unix-like systems, such as '.' or a writable relative directory listed before absolute system paths. The vulnerable code paths (dependencygraph.dot2img, AlignedSent._repr_svg_) must actually be called; applications that import NLTK but never invoke these functions are not exposed. CVSS PR:L confirms that at minimum low-privilege local access is required, and unauthenticated remote exploitation is not feasible without a prior foothold. The primary limiting factors are the local attack vector and the requirement for CWD/PATH influence, which rules out most network-based threat actors absent a pre-existing compromise.

Impact

The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H) assigns local access with low privilege and no attack complexity, resulting in a score of 8.5 - high impact across confidentiality, integrity, and availability. The local attack vector meaningfully constrains the threat: opportunistic remote exploitation is not feasible without a preceding foothold. However, the low complexity and low privilege requirements mean that once an attacker has write access to the working directory, exploitation is mechanical and reliable. No EPSS score was provided in the intelligence package, and CISA KEV confirmation is absent; no public POC has been identified. The practical risk is elevated in shared development environments, Jupyter notebook servers processing untrusted data, and CI/CD pipelines where NLTK is invoked against inputs from external contributors - contexts where CWD control is plausible for an attacker. The 'Microsoft' tag in the source data likely flags the Windows-specific CWD search-order behavior as an aggravating factor on that platform. Overall, this is a genuine high-priority issue for teams running NLTK in multi-tenant or pipeline contexts, but lower urgency for isolated single-user workstations.

Exploit ScenarioDerived

An attacker with write access to the directory from which a Python application invokes NLTK places a malicious executable named 'dot' in that directory. When the application calls dependencygraph.dot2img or AlignedSent._repr_svg_, NLTK attempts to run the dot binary by bare name; the OS resolves it to the attacker's binary and executes it with the privileges of the running NLTK process. This scenario is particularly realistic in Jupyter notebook environments, shared CI/CD runners, or NLP data pipelines where untrusted input files and user-writable directories coexist with NLTK execution.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 25, 2026

Untrusted search path execution in NLTK before 3.10.3 allows a local attacker with write access to the current working directory or the ability to insert relative entries into PATH to substitute a malicious executable named 'dot' for the legitimate Graphviz binary, achieving arbitrary code execution under the invoking process's privileges. The affected code paths are dependencygraph.dot2img and AlignedSent._repr_svg_, both of which invoke the Graphviz dot binary by bare name without validating an absolute path. No public exploit code or confirmed active exploitation (CISA KEV) has been identified at time of analysis; the CVSS 4.0 score of 8.5 reflects the high-impact code execution potential.

RemediationAI

Upgrade NLTK to version 3.10.3 or later, which resolves the untrusted search path issue by validating and using absolute paths when invoking the Graphviz dot binary. The vendor advisory at https://github.com/nltk/nltk/security/advisories/GHSA-6hwm-xvph-95vm documents the fix. If an immediate upgrade is not feasible, the most effective compensating control is to disable or wrap the two affected functions (dependencygraph.dot2img and AlignedSent._repr_svg_) to prevent invocation entirely, eliminating the attack surface with no side effect beyond loss of those visualization features. A secondary mitigation on Unix-like systems is to audit PATH for any relative entries (such as '.' or paths beginning with './') and remove them, ensuring dot resolution uses only absolute system directories; on Windows, ensure the working directory at invocation time contains no executable named 'dot' and is not writable by untrusted users. Note that PATH hardening is an operational control, not a code fix, and may be reset across deployments.

Affected VersionsENISA

nltk 0 <3.10.3

Affected Packages

pypi nltk fix: 3.10.3

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), a widely used Python library for natural language processing, invokes the external Graphviz dot binary by bare name in its dependencygraph.dot2img and AlignedSent._repr_svg_ functions. This triggers CWE-426 (Untrusted Search Path): the OS resolves the bare name 'dot' using platform-specific search order rules rather than an absolute path. On Windows, the current working directory is searched before system PATH entries by default, creating a trivially exploitable binary planting condition. On Unix-like systems, exploitation requires a relative PATH entry such as '.' - a non-default but not uncommon misconfiguration in developer and CI environments. The CPE string cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:* covers all NLTK versions prior to the fix in 3.10.3. The root cause is the absence of absolute path validation before subprocess invocation.

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 8.5 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.8 HIGH

Local vector required for CWD or PATH control; low privilege suffices; no scope change; full code execution yields high C/I/A.

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

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
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 25, 2026 - 03:16 EUVD
CVE Published
Aug 25, 2026 - 01:30 cve.org
HIGH 8.5

DescriptionCVE.org

NLTK versions before 3.10.3 fail to use validated absolute paths when invoking the Graphviz dot binary in dependencygraph.dot2img and AlignedSent._repr_svg_, allowing attackers to execute arbitrary code by placing a malicious dot binary in the search path or current working directory. Attackers can exploit bare-name binary resolution on Windows via the current working directory or on Unix-like systems via relative PATH entries to execute their binary instead of the legitimate Graphviz tool.

Blast Radius

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

Ecosystem-wide dependent count for version 3.10.3.

Executive ViewAI

Why It Matters

NLTK (Natural Language Toolkit), a widely-used open-source library for natural language processing, contains a local privilege escalation vulnerability (versions before 3.10.3) enabling arbitrary code execution; no public exploit has been identified at time of analysis, but organizations should upgrade immediately to mitigate risk. Systems running NLTK for sentiment analysis, text classification, or other NLP tasks require prioritization, especially in shared computing environments.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Medium
widely used Python NLP library across academia and data science
Threat Intel
1
1 sources
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA CIRCL GitHub VulDB

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 HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Nltk

View all

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