p PatchFirst

PatchFirst · Latest vulnerabilities

Python stack vulnerabilities · Page 38

Vulnerabilities published for Python in the last 30 days: 358. Listed in the KEV catalogue: 1.

Filter vulnerabilities
Python

Vulnerabilities: 7116

  1. CVE-2026-5751

    Medium · CVSS 5.1EPSS 0.26%Fix available

    justhtml before 1.14.0 Mutation XSS via custom sanitization policies

    justhtml versions 1.13.0 and earlier contain a parser-differential / mutation cross-site scripting (mXSS) vulnerability when using a custom SanitizationPolicy that preserves foreign namespaces (e.g., drop_foreign_namespaces=False with allowlisted SVG/MathML elements or raw-text containers such as <style>). Specially crafted input can sanitize into markup that appears safe but becomes unsafe when re-parsed by a browser or another HTML parser, allowing markup injection. The default safe configuration (sanitize=True) is not affected. Fixed in 1.14.0.

    • Update to 1.14.0
    Published Updated
  2. CVE-2026-5389

    Medium · CVSS 5.1EPSS 0.23%Fix available

    justhtml before 1.13.0 XSS via code fence breakout

    justhtml versions before 1.13.0 contain a cross-site scripting vulnerability in the to_markdown() function when serializing attacker-controlled pre content. Attackers can place backticks inside sanitized pre elements to break out of fixed-length code fences, allowing raw HTML to execute when the generated Markdown is rendered by CommonMark or GFM-style renderers.

    • Update to 1.13.0
    Published Updated
  3. CVE-2026-5388

    Critical · CVSS 9.3EPSS 0.59%Fix available

    justhtml before 1.15.0 Multiple Security Issues

    justhtml before 1.15.0 contains multiple security issues in URL sanitization helpers (clean_url_value/clean_url_in_js_string), HTML serialization, Markdown passthrough (html_passthrough=True), and several custom sanitization-policy edge cases. Depending on configuration, an attacker can bypass sanitization to inject active HTML and JavaScript — for example via encoded javascript: URLs, backslash-based relative URLs resolved as remote hosts, markup-breaking programmatic element/attribute names or HTML comments, raw </textarea> reintroduction through Markdown passthrough, or preserved <style>/<meta http-equiv=refresh>/<base href> tags in custom

    • Update to 1.15.0
    Published Updated
  4. CVE-2026-4671

    High · CVSS 8.7EPSS 0.65%Fix available

    justhtml before 1.18.0 Denial of Service via CSS Selector

    justhtml before 1.18.0 contains multiple low-severity denial-of-service issues in CSS selector handling and linkification. Applications that evaluate attacker-controlled selector strings (via query(), matches(), or selector-based transforms), run selector matching over very large untrusted documents, construct DOM trees from untrusted structure, or enable linkification over attacker-controlled text may consume disproportionate CPU or memory. Triggers include oversized selectors, large selector lists, oversized compound selectors, long combinator chains, deeply nested functional pseudo-classes, repeated token/positional matching, cyclic DOM gr

    • Update to 1.18.0
    Published Updated
  5. CVE-2026-70626

    High · CVSS 8.6EPSS 0.2%Fix available

    NLTK before 3.9.4 Symlink Escape via CorpusReader

    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.

    • Update to 3.10.0-1
    • Update to 3.9.4
    Published Updated
  6. CVE-2026-66393

    High · CVSS 8.7EPSS 0.52%Fix available

    NLTK before 3.9.4 Denial of Service via JSONTaggedDecoder

    NLTK versions before 3.9.4 contain an unbounded recursion vulnerability in JSONTaggedDecoder.decode_obj() that allows attackers to cause denial of service by supplying deeply nested JSON structures. Attackers can craft JSON payloads exceeding the recursion limit to trigger an unhandled RecursionError that crashes the Python process.

    • Update to 3.10.0-1
    • Update to 3.9.4
    Published Updated
  7. CVE-2026-65915

    High · CVSS 7.1EPSS 0.41%Fix available

    NLTK before 3.10.0 Arbitrary File Read via FileSystemPathPointer

    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.

    • Update to 3.10.0
    • Update to 3.10.0-1
    Published Updated
  8. 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
    • Update to 3.10.0-1
    Published Updated
  9. 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
    • Update to 3.10.0-1
    Published Updated
  10. 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
    • Update to 3.10.0-1
    Published Updated
  11. 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
    • Update to 3.10.0-1
    Published Updated
  12. CVE-2026-62384

    High · CVSS 8.7EPSS 0.65%Fix available

    NLTK FramenetCorpusReader Symlink Sandbox Bypass before 3.10.2

    NLTK versions before 3.10.2 contain a symlink-based sandbox bypass in FramenetCorpusReader that allows attackers to read arbitrary XML files outside the corpus root. Attackers can place symlinks with names containing no path separators inside the corpus subdirectory, which pass the path validation guard and are resolved to files outside the intended corpus root when accessed via frame_by_name(), _lu_file(), or doc() methods.

    • Update to 3.10.2
    • Update to 3.10.3-1
    Published Updated
  13. CVE-2026-62383

    Medium · CVSS 6.8EPSS 0.18%Fix available

    nltk IPIPANCorpusReader Symlink Arbitrary File Read

    nltk versions before 3.10.2 contain a symlink-based arbitrary file read vulnerability in IPIPANCorpusReader methods that bypass nltk.pathsec validation entirely. Attackers can place a symlink in the corpus root directory and read arbitrary files accessible to the process by calling channels(), domains(), categories(), or fileids() methods with the symlink filename.

    • Update to 3.10.2
    • Update to 3.10.3-1
    Published Updated
  14. CVE-2026-71514

    Low · CVSS 2EPSS 0.17%Fix available

    NLTK 3.9.4 through 3.10.2 Path Traversal via CrubadanCorpusReader pathsec Bypass

    NLTK 3.9.4 through 3.10.2 contains a path traversal vulnerability in CrubadanCorpusReader. _load_lang_ngrams joins the corpus root with crubadan_code, the column-0 value read from the corpus table.txt mapping file, and opens the result with the builtin open() rather than the pathsec-validated opener, so os.path.join discards the root when that value is absolute and the read escapes the corpus directory without the containment check nltk.pathsec applies when ENFORCE is set. An attacker who controls a corpus package can disclose file contents outside the corpus root through lang_freq, limited to paths ending in -3grams.txt whose contents parse

    • Update to 3.10.3
    • Update to 3.10.3-1
    Published Updated
  15. CVE-2026-71513

    High · CVSS 8.7EPSS 1.1%Fix available

    NLTK 3.10.0 through 3.10.2 Remote Code Execution via AllowlistUnpickler Dotted-Name Bypass

    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 untrusted transition-parser models that execute arbitrary commands when TransitionParser.parse loads the model through allowlisted_pickle_load.

    • Update to 3.10.3
    • Update to 3.10.3-1
    Published Updated
  16. CVE-2026-49360

    High · CVSS 7.8EPSS 1.07%Fix available

    Recce server has unauthenticated SQL execution that allows local file read/write through DuckDB

    Recce is a data-validation toolkit for enhanced dbt (data build tool) PR review. Prior to version 1.50.0, OSS server deployments that expose the server to an untrusted network without authentication are vulnerable to unauthenticated SQL execution through the query run API. When Recce is configured with a DuckDB-backed project, an attacker can use DuckDB filesystem primitives to read and write files accessible to the Recce server process. The impact depends on how Recce is deployed, but may include disclosure of local files, tampering with Recce/dbt artifacts, modification of browser-served static files leading to stored XSS, and modification

    • Update to 1.50.0
    Published Updated
  17. CVE-2026-43980

    Medium · CVSS 6.3EPSS 0.33%No fix published

    Malla: Stored XSS via Meshtastic node names in multiple frontend pages

    Malla is a web analyzer for Meshtastic networks based on MQTT data. Prior to commit 4086e2b5f61615a813b70b25bc76095083552135, code names (long_name, short_name) received via MQTT are stored in SQLite without sanitization and rendered into the DOM without escaping. Any participant on a public Meshtastic MQTT broker can set a malicious node name that executes JavaScript in the browser of every Malla dashboard visitor. Commit 4086e2b5f61615a813b70b25bc76095083552135 fixes the issue.

    Published Updated
  18. CVE-2026-61539

    Critical · CVSS 10EPSS 1.23%Fix available

    Xinference: Remote code execution via unsafe `eval()` in Llama3 tool-call parsing

    Xinference is an inference API for running open-source, speech, and multimodal models. In 2.5.0 and earlier, Xinference passes attacker-influenced Llama3 tool-call output to eval() in xinference/model/llm/tool_parsers/llama3_tool_parser.py and xinference/model/llm/utils.py. Requests to /v1/chat/completions with a tools field flow through xinference/api/restful_api.py, xinference/model/llm/transformers/core.py, handle_chat_result_non_streaming(), and _post_process_completion() before extract_tool_calls() or _eval_llama3_chat_arguments() evaluates the model-generated Python expression. An unauthenticated remote attacker can influence that outpu

    • Update to 2.7.0
    Published Updated
  19. CVE-2026-53656

    Medium · CVSS 6.3EPSS 0.12%Fix available

    FiftyOne App server uses wildcard CORS (Access-Control-Allow-Origin: *), enabling cross-origin reads of local server data

    FiftyOne is an open-source platform for refining high-quality datasets and visual AI models. Prior to 1.17.0, the FiftyOne App/API server in fiftyone/server/app.py and the /media route in fiftyone/server/routes/media.py unconditionally return Access-Control-Allow-Origin: *. Because the embedded server is local and unauthenticated, a malicious website visited by the user can read cross-origin responses. The /media endpoint accepts a filesystem path, allowing a drive-by page to read files accessible to the server process and exfiltrate them without additional clicks. The allowed_origins configuration and FIFTYONE_ALLOWED_ORIGINS environment var

    • Update to 1.17.0
    Published Updated
  20. CVE-2026-54457

    High · CVSS 7.7EPSS 0.4%Fix available

    TensorZero: Arbitrary file read and SSRF in TensorZero Gateway's internal object storage endpoint

    TensorZero is an open-source LLMOps platform that unifies an LLM gateway, observability, evaluation, optimization, and experimentation. Prior to 2026.6.0, the TensorZero Gateway /internal/object_storage endpoint accepts a caller-supplied JSON storage_path parameter that dynamically overrides the [object_storage] configuration. Selecting the filesystem storage type allows arbitrary files on the gateway filesystem to be read, including credential files. Selecting the s3_compatible storage type causes outbound object-storage requests to attacker-chosen internal or cloud-metadata endpoints. Exploitation requires access to the gateway, which can b

    • Update to 2026.6.0
    Published Updated

Check your server

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

Check your server →