p PatchFirst

PatchFirst · Latest vulnerabilities

nltk 3.9b1: known vulnerabilities · Page 2

The comparison for nltk 3.9b1 is incomplete. Review the confirmed matches below.

Filter vulnerabilities
Clear filters

Could not compare 4 records. The results are incomplete.

Vulnerabilities: 45

  1. CVE-2026-63312

    High · CVSS 8.7EPSS 0.65%Fix available

    NLTK StreamBackedCorpusView Bypasses pathsec.ENFORCE Arbitrary File Read

    NLTK before 3.10.0 contains an arbitrary local file read vulnerability in StreamBackedCorpusView that bypasses pathsec.ENFORCE by calling builtins.open() directly instead of pathsec.open(). Attackers who control the fileid argument can read arbitrary local files regardless of the ENFORCE setting, including sensitive system files and application credentials.

    • Update to 3.10.0
    Published Updated
  2. CVE-2026-63311

    Medium · CVSS 6.9EPSS 0.33%Fix available

    NLTK before 3.10.0 SSRF via DNS Resolution Failure

    NLTK before 3.10.0 (affected versions <= 3.9.4) contains a server-side request forgery (SSRF) vulnerability in the validate_network_url() function in nltk/pathsec.py. The _resolve_hostname() helper catches OSError and ValueError during socket.getaddrinfo() and returns an empty list; when DNS resolution fails, the validation loop executes no IP checks and the function fails open, allowing urlopen() to proceed without validation. An attacker who can trigger DNS resolution failures or use DNS rebinding can bypass SSRF protections and reach restricted network resources, including cloud metadata endpoints (e.g., 169.254.169.254).

    • Update to 3.10.0
    Published Updated
  3. CVE-2026-62388

    High · CVSS 8.7EPSS 0.51%Fix available

    NLTK before 3.10.0 Insecure Default Configuration in pathsec.py

    NLTK versions before 3.10.0 default to ENFORCE=False in pathsec.py, causing all security validation functions to emit warnings instead of raising exceptions. Attackers can bypass path traversal and pickle deserialization protections by exploiting the disabled security controls that are only active when manually enabled.

    • Update to 3.10.0
    Published Updated
  4. CVE-2026-62385

    High · CVSS 8.2EPSS 0.42%Fix available

    NLTK 3.9.4 Path Traversal via FrameNet and NKJP Readers

    NLTK versions before 3.10.0 contain a path traversal vulnerability in FramenetCorpusReader and NKJPCorpusReader that allows attackers to parse XML files outside the corpus root by supplying unsafe selectors or poisoned index state. Attackers can exploit frame_by_name, doc, lu, and header methods with crafted parameters to read arbitrary XML files accessible to the application.

    • Update to 3.10.0
    Published Updated
  5. CVE-2026-72818

    High · CVSS 8.7EPSS 0.74%Fix available

    NLTK TweetTokenizer URL Pattern Backtracks Catastrophically on Naked-Domain-Like Input

    The URLS regular expression in nltk/tokenize/casual.py, compiled into TweetTokenizer.WORD_RE 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 exponentially many ways, and because the branch also requires a trailing top-level domain that such input never supplies, the engine explores those partitions before failing at each offset. A few kilobytes of input therefore consumes seconds to minutes of single-threaded CPU, and the HANG_RE substitution performed before matching does not

    • Update to 3.10.1
    Published Updated
  6. CVE-2026-12372

    Low · CVSS 3.7EPSS 0.26%Fix available

    Server-Side Request Forgery (SSRF) in nltk/nltk

    A Server-Side Request Forgery (SSRF) vulnerability exists in nltk/nltk versions 3.9.4 and the current develop branch. The `nltk.pathsec.validate_network_url()` function, intended to prevent SSRF by rejecting internal network addresses, fails to reject IPs in the RFC 6598 shared address space (`100.64.0.0/10`). This occurs because Python's `ipaddress` module does not classify such addresses as `is_private` or `is_global`, and the current guard only checks `is_private` and a few explicit categories. An attacker who can influence a URL passed to NLTK's network-loading helpers can exploit this vulnerability to make a strict-mode application send

    • Update to 3.10.0
    Published Updated
  7. CVE-2026-12261

    Medium · CVSS 5.3EPSS 0.21%Fix available

    Improper Access Control in nltk/nltk

    A vulnerability in `nltk.downloader` in nltk/nltk versions <= 3.9.4 allows for cross-package resource and model poisoning. The downloader extracts package archives into shared namespaces such as `corpora/` and `taggers/` instead of package-isolated roots, and validates package integrity only after the archive has been written and extracted. This design flaw enables one package to overwrite another package's trusted resources within the same namespace, making the changes immediately active through ordinary NLTK APIs. This issue persists across fresh interpreter restarts and can affect downstream workflows, including machine learning pipelines

    • Update to 3.10.0
    Published Updated
  8. CVE-2026-12075

    High · CVSS 8.6Fix available

    Natural Language Toolkit (NLTK): DNS-rebinding SSRF filter bypass in nltk.pathsec.urlopen (nltk.download / nltk.data.load) defeats ENFORCE mode

    ### Summary `nltk.pathsec` provides an SSRF filter that NLTK documents as a security control, blocking loopback, private, link-local, and multicast ranges (including obfuscated forms) and recommending strict `ENFORCE` mode for security-sensitive environments. The filter is bypassable by DNS rebinding: `validate_network_url()` resolves the hostname and checks the resulting IP, but the actual HTTP connection re-resolves the hostname independently at connect time and connects to that second result. The validated IP is never the one connected to. An attacker controlling DNS for a hostname (a TTL-0 rebinding record) returns a public IP for the val

    • Update to 3.10.0
    Published Updated
  9. CVE-2026-12259

    Medium · CVSS 5.3EPSS 0.1%Fix available

    Improper Input Validation in nltk/nltk

    In nltk version 3.9.4, the `nltk.downloader.Downloader._download_package()` function writes downloaded package bytes to disk and may extract them before enforcing SHA-256 or MD5 checksum validation. This allows an attacker to tamper with the package response body for `info.url` through a compromised mirror, malicious proxy, or other source-substitution condition, leading to the installation of attacker-controlled package bytes. The vulnerability can result in malicious corpus or model content being trusted by downstream users or applications.

    • Update to 3.9.3
    Published Updated
  10. CVE-2025-71408

    High · CVSS 8.5EPSS 0.27%Fix available

    NLTK < 3.9.3 Eval Injection via collocations.py Command-Line Arguments

    NLTK (Natural Language Toolkit) before version 3.9.3 contains an eval injection vulnerability in the nltk.collocations module that allows an attacker who controls command-line arguments to execute arbitrary Python code. When collocations.py is invoked directly, the __main__ block passes command-line arguments directly to eval() as suffixes of BigramAssocMeasures without allowlist validation or sanitization, enabling an attacker to supply a Python expression that escapes the intended attribute lookup and executes arbitrary code including OS commands via the os module.

    • Update to 3.9.3
    Published Updated
  11. CVE-2026-12252

    High · CVSS 7.8EPSS 0.19%Fix available

    Untrusted JAR Code Execution in Multiple Stanford Interface Classes in nltk/nltk

    In nltk/nltk versions 3.9.3 and earlier, five Stanford interface classes (StanfordPOSTagger, StanfordNERTagger, StanfordParser, StanfordDependencyParser, and StanfordNeuralDependencyParser) are vulnerable to untrusted JAR code execution. These classes accept user-controllable JAR paths and execute them via the `java()` function, which invokes `subprocess.Popen()` without integrity verification. This vulnerability is identical to CVE-2026-0848, which was fixed for StanfordSegmenter by adding SHA256 verification. However, the fix was not applied to these additional classes, leaving them susceptible to arbitrary code execution when loading untru

    • Update to 3.9.4
    Published Updated
  12. CVE-2026-54293

    High · CVSS 7.5EPSS 0.63%Fix available

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

    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 ../../../et

    • Update to 3.10.0
    Published Updated
  13. CVE-2026-33236

    High · CVSS 8.1EPSS 0.6%Fix available

    NLTK has a Downloader Path Traversal Vulnerability (AFO) - Arbitrary File Overwrite

    NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting research and development in Natural Language Processing. In versions 3.9.3 and prior, the NLTK downloader does not validate the `subdir` and `id` attributes when processing remote XML index files. Attackers can control a remote XML index server to provide malicious values containing path traversal sequences (such as `../`), which can lead to arbitrary directory creation, arbitrary file creation, and arbitrary file overwrite. Commit 89fe2ec2c6bae6e2e7a46dad65cc34231976ed8a patches the issue.

    • Update to 3.9.4
    Published Updated
  14. CVE-2026-33231

    High · CVSS 7.5EPSS 1.24%Fix available

    NLTK has unauthenticated remote shutdown in nltk.app.wordnet_app

    NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting research and development in Natural Language Processing. In versions 3.9.3 and prior, `nltk.app.wordnet_app` allows unauthenticated remote shutdown of the local WordNet Browser HTTP server when it is started in its default mode. A simple `GET /SHUTDOWN%20THE%20SERVER` request causes the process to terminate immediately via `os._exit(0)`, resulting in a denial of service. Commit bbaae83db86a0f49e00f5b0db44a7254c268de9b patches the issue.

    • Update to 3.9.4
    Published Updated
  15. CVE-2026-33230

    Medium · CVSS 6.1EPSS 0.34%Fix available

    nltk Vulnerable to Cross-site Scripting

    NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting research and development in Natural Language Processing. In versions 3.9.3 and prior, `nltk.app.wordnet_app` contains a reflected cross-site scripting issue in the `lookup_...` route. A crafted `lookup_<payload>` URL can inject arbitrary HTML/JavaScript into the response page because attacker-controlled `word` data is reflected into HTML without escaping. This impacts users running the local WordNet Browser server and can lead to script execution in the browser origin of that application. Commit 1c3f799607eeb088cab2491dcf806ae83c29ad8

    • Update to 3.9.4
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →