1014 matches found
PYSEC-2026-3868 NLTK: Uncontrolled search path when invoking the Graphviz 'dot' binary
Two NLTK sites executed the Graphviz dot program by bare name, so process creation resolved it via the search path — and on Windows via the current working directory — rather than a validated absolute location. An attacker who can place a file named dot where resolution looks the CWD on Windows, ...
NLTK AllowlistUnpickler dotted-name validation bypass allows remote code execution
NLTK before 3.10.3 contains a remote code execution vulnerability in AllowlistUnpickler that validates only the pickle module string and not the global name, allowing attackers to resolve dotted names by attribute traversal to callables outside the allowlisted namespace. Attackers can craft...
PYSEC-2026-3867 NLTK AllowlistUnpickler dotted-name validation bypass allows remote code execution
NLTK before 3.10.3 contains a remote code execution vulnerability in AllowlistUnpickler that validates only the pickle module string and not the global name, allowing attackers to resolve dotted names by attribute traversal to callables outside the allowlisted namespace. Attackers can craft...
NLTK TweetTokenizer vulnerable to denial of service through catastrophic regex backtracking
The URLS regular expression in nltk/tokenize/casual.py, compiled into TweetTokenizer.WORDRE and applied by TweetTokenizer.tokenize, contains a naked-domain branch whose domain-label prefix a-z0-9+?:.\-a-z0-9+ is unbounded. Input consisting of many alternating label separators can be partitioned i...
PYSEC-2026-3870 NLTK TweetTokenizer vulnerable to denial of service through catastrophic regex backtracking
The URLS regular expression in nltk/tokenize/casual.py, compiled into TweetTokenizer.WORDRE and applied by TweetTokenizer.tokenize, contains a naked-domain branch whose domain-label prefix a-z0-9+?:.-a-z0-9+ is unbounded. Input consisting of many alternating label separators can be partitioned in...
Arbitrary Local File Read
NLTK is vulnerable to an Arbitrary Local File Read. The vulnerability is due to StreamBackedCorpusView directly calling builtins.open instead of the security-enforcing pathsec.open, which allows an attacker who controls the fileid argument to bypass the ENFORCE setting and read arbitrary local...
Server-Side Request Forgery (SSRF)
NLTK is vulnerable to a Server-Side Request Forgery SSRF. The vulnerability is due to improper validation of the destination when an HTTP proxy is configured, which allows an attacker to provide a validated public URL that the proxy redirects to an internal service, potentially exposing internal...
Path Traversal
NLTK is vulnerable to a path traversal. The vulnerability is due to insufficient validation of selectors or poisoned index state in FramenetCorpusReader and NKJPCorpusReader, which allows an attacker to supply crafted parameters to methods such as framebyname, doc, lu, and header to access and...
CVE-2026-81725
creationtimestamp| type| source ---|---|--- 2026-09-08 22:36:09+00:00| published-proof-of-concept| https://github.com/nltk/nltk/security/advisories/GHSA-8mpw-7fpc-4gqj...
NLTK: Pl196xCorpusReader has quadratic ReDoS on malformed TEI blocks
Summary Pl196xCorpusReader still parses whole TEI blocks with multiple lazy regexes over attacker-controlled text. A malformed file with many opening tags and no matching closing tags forces repeated rescans and produces quadratic CPU growth in public reader APIs. Details - Vulnerability type:...
GHSA-8MPW-7FPC-4GQJ NLTK: Pl196xCorpusReader has quadratic ReDoS on malformed TEI blocks
Summary Pl196xCorpusReader still parses whole TEI blocks with multiple lazy regexes over attacker-controlled text. A malformed file with many opening tags and no matching closing tags forces repeated rescans and produces quadratic CPU growth in public reader APIs. Details - Vulnerability type:...
EUVD-2026-67075
NLTK: Pl196xCorpusReader has quadratic ReDoS on malformed TEI blocks...
GHSA-W3V8-GMH9-3WV7 NLTK: ReDoS in nltk.tgrep via unvalidated user-supplied regular expressions
Summary The NLTK tgrep module accepts user-supplied regular expressions and passes them to the Python re engine without a timeout or validation, enabling catastrophic backtracking ReDoS. Applications that expose the tgrep API to external input are vulnerable to a single-request denial of service...
EUVD-2026-66397
NLTK: ReDoS in nltk.tgrep via unvalidated user-supplied regular expressions...
NLTK: ReDoS in nltk.tgrep via unvalidated user-supplied regular expressions
Summary The NLTK tgrep module accepts user-supplied regular expressions and passes them to the Python re engine without a timeout or validation, enabling catastrophic backtracking ReDoS. Applications that expose the tgrep API to external input are vulnerable to a single-request denial of service...
EUVD-2026-66396
NLTK: ReDoS in nltk.text.Text.findall via unvalidated user-supplied regular expressions...
GHSA-RRV8-H7P8-RX55 NLTK: ReDoS in nltk.text.Text.findall() via unvalidated user-supplied regular expressions
Summary NLTK's Text.findall and TokenSearcher.findall methods accept user-supplied regular expressions and pass them to the Python re engine without timeout or validation, enabling catastrophic backtracking ReDoS. This issue is isolated to the nltk.text module and was resolved in a prior commit...
NLTK: ReDoS in nltk.text.Text.findall() via unvalidated user-supplied regular expressions
Summary NLTK's Text.findall and TokenSearcher.findall methods accept user-supplied regular expressions and pass them to the Python re engine without timeout or validation, enabling catastrophic backtracking ReDoS. This issue is isolated to the nltk.text module and was resolved in a prior commit...