CVE-2026-54293

NLTK: URL-Encoded Path Traversal in nltk.data.load() Allows Arbitrary Local File Read

HIGH
7.5
CVSS Score
Published: June 22, 2026 at 05:25 PM UTC
Updated: September 9, 2026 at 05:27 PM UTC
4 products affected across 2 vendorsNltkOpenShift AIAnsible Automation Platform

Using nltk by nltk?

Get instant alerts when new vulnerabilities affect nltk - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.5
Exploit prediction
EPSS 0.6%
SSVC
PoC

Description

NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting research and development in Natural Language Processing. Prior to 3.10.0-rc1, nltk.data.load() in NLTK is vulnerable to path traversal via URL-encoded path separators and traversal segments when using the nltk: URL scheme. The unsafe-path regex check is performed before url2pathname() decodes the %xx sequences (a classic decode-after-check / TOCTOU-style flaw), allowing an attacker to bypass the protection documented in NLTK's SECURITY.md and read arbitrary files from the filesystem. While literal traversal strings such as ../../../etc/passwd are correctly blocked, encoded variants such as %2fetc%2fpasswd, %2e%2e%2f..., and ..%2f..%2f slip past the regex and are subsequently decoded into a real filesystem path. This vulnerability is fixed in 3.10.0-rc1.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 3.10.0v < 3.10.0-rc1
Affected range stops below 3.10.0, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.10.0-rc1, so it looks safe — our inference, not a vendor statement
All versions
Vendor states this is fixed in 1783701598 (unaffected)
Vendor states this is fixed in 1786635926 (unaffected)
Vendor states this is fixed in 1787073459 (unaffected)
Vendor states this is fixed in 1787330585 (unaffected)
Vendor states this is fixed in 1787330903 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

References (8)

x_refsource_CONFIRMExploitVendor Advisory
Source: cverecord
https://github.com/nltk/nltk/security/advisories/GHSA-p4gq-832x-fm9v
x_refsource_MISCIssue TrackingPatch
Source: cverecord
https://github.com/nltk/nltk/pull/3575
Source: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
https://access.redhat.com/security/cve/CVE-2026-54293
Source: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
https://bugzilla.redhat.com/show_bug.cgi?id=2491486
Source: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
https://access.redhat.com/errata/RHSA-2026:42644
Source: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
https://access.redhat.com/errata/RHSA-2026:60520
Source: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
https://access.redhat.com/errata/RHSA-2026:65126

SSVC — Action Prioritization

SSVCPoCAutomatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.5HIGHGitHub_M
Attack Vector
NETWORK
Complexity
LOW
Privileges
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
NONE
Availability
NONE
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-22

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card