Bug 2521338 (CVE-2026-70626)

Summary: CVE-2026-70626 nltk: NLTK: Information disclosure via symlink escape in CorpusReader.open()
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: anpicker, bparees, dschmidt, ebourniv, hasun, jfula, jlanda, jowilson, kshier, nyancey, ometelka, ptisnovs, sbunciak, simaishi, stcannon, syedriko, teagle, xdharmai, yguenane
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in NLTK. This vulnerability allows a local attacker to read arbitrary files outside of the intended directory. By placing symbolic links (symlinks) within the corpus root, an attacker can bypass path validation in the `CorpusReader.open()` function, which does not properly account for symlink resolution. This could lead to unauthorized information disclosure.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description OSIDB Bzimport 2026-08-22 14:32:05 UTC
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.