Medium severity · published Aug 22, 2026
CVE-2026-65915
NLTK before 3.10.0 Arbitrary File Read via FileSystemPathPointer
6.5
CVSS
0.4%
EPSS
No
On KEV
Description
NLTK versions before 3.10.0 contain a logic bug in FileSystemPathPointer.open() where the sandbox validation check compares a normalized path against itself, making the security check permanently inert. Attackers can pass file:// URLs to nltk.data.load() to read arbitrary files accessible to the process user, including credentials and configuration files.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Attack vector
Network
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 35% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
NL
nltk · nltk
before 3.10.0 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-65915
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-65915
Exploit
https://github.com/nltk/nltk/security/advisories/GHSA-72r2-7mfr-5xr9
Third Party Advisory
https://www.vulncheck.com/advisories/nltk-before-arbitrary-file-read-via-filesystempathpointer
More from nltk
10.0
CVE-2026-0848
Arbitrary Code Execution in NLTK StanfordSegmenter via Untrusted JAR Loading
9.8
CVE-2026-79675
NLTK before 3.10.3 JVM Argument Injection via Per-Call Options
9.8
CVE-2026-79657
NLTK before 3.10.3 Remote Code Execution via Unsafe Pickle Deserialization
9.6
CVE-2026-78683
NLTK before 3.10.0 Remote Code Execution via Unsafe Pickle Deserialization
8.8
CVE-2026-71513
NLTK 3.10.0 through 3.10.2 Remote Code Execution via AllowlistUnpickler Dotted-Name Bypass
