p PatchFirst

PatchFirst · Latest vulnerabilities

Python stack vulnerabilities · Page 5

Vulnerabilities published for Python in the last 30 days: 312. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Python

Vulnerabilities: 7029

  1. CVE-2026-114095

    High · CVSS 7.1EPSS 0.31%Fix available

    Dulwich before 1.2.9 Infinite Loop DoS via Pack.resolve_object

    Dulwich before 1.2.9 contains a denial of service vulnerability in Pack.resolve_object that allows attackers to cause infinite recursion via self-referential OFS_DELTA objects. Attackers can supply a malicious packfile with an OFS_DELTA delta_offset of 0 to exhaust CPU during clone, fetch, or cat-file operations.

    • Update to 1.2.11-1
    • Update to 1.2.9
    Published Updated
  2. CVE-2026-114094

    High · CVSS 8.7EPSS 0.67%Fix available

    Dulwich before 1.2.9 Arbitrary File Write via DOS drive letter paths

    Dulwich before 1.2.9 fails to validate DOS drive letter prefixes in Git tree path elements on Windows, allowing arbitrary file write. Attackers can craft a malicious repository with a tree entry named 'C:' that bypasses NTFS validation and writes files outside the worktree to achieve remote code execution.

    • Update to 1.2.9
    Published Updated
  3. CVE-2026-114055

    High · CVSS 8.7EPSS 0.42%Fix available

    vLLM 0.7.3 before 0.31.0 DoS via Unvalidated mm_processor_kwargs

    vLLM from 0.7.3 before 0.31.0 contains an uncontrolled resource consumption vulnerability that allows remote clients to control multimodal processor parameters by supplying per-request mm_processor_kwargs. Attackers can set large image size, patch count, crop count, or frame count values in Isaac, InternVL, H2OVL, and other processors to exhaust memory and terminate the shared server.

    • Update to 0.31.0
    Published Updated
  4. CVE-2026-114050

    High · CVSS 7.1EPSS 0.2%Fix available

    vLLM before 0.31.0 Remote Engine Crash via Forged Multimodal UUID

    vLLM before 0.31.0 uses a client-supplied multimodal uuid verbatim as cache identity with no consistency check on cache hits, allowing engine crashes. Unauthenticated attackers can desynchronize the P0/P1 processor caches to trigger a fatal token-placeholder mismatch, killing the entire serving instance until restarted.

    • Update to 0.31.0
    Published Updated
  5. CVE-2021-48020

    High · CVSS 8.3EPSS 0.28%Fix available

    Vyper before 0.3.0 Memory Corruption via Internal Function Calls in Arrays

    Vyper from 0.1.0b4 before 0.3.0 contains a memory corruption vulnerability caused by an incorrect stack tip pointer when internal function calls are performed inside arrays. Contracts placing internal calls in nested array elements, external call arguments, struct literals, or raw_log topics can have memory corrupted, producing incorrect contract behavior.

    • Update to 0.2.12
    • Update to 0.3.0
    Published Updated
  6. CVE-2021-48019

    Medium · CVSS 6.3EPSS 0.25%Fix available

    Vyper before 0.2.9 Incorrect RETURNDATASIZE in create_forwarder_to Proxies

    Vyper before 0.2.9 deploys forwarder proxies through the built-in create_forwarder_to function that report a fixed 4096-byte RETURNDATASIZE rather than the actual return data size. Calls through these proxies can yield corrupted data when a function returns more than 4096 bytes without return data sanitation, and fail strict return-size checks such as SafeERC20.safeTransfer.

    • Update to 0.2.9
    Published Updated
  7. CVE-2021-48018

    High · CVSS 8.3EPSS 0.39%Fix available

    Vyper 0.2.13 before 0.2.15 Storage Corruption via @nonreentrant Decorator

    Vyper from 0.2.13 before 0.2.15 allocates storage slots for @nonreentrant reentrancy locks at the same locations as contract storage variables. When a function using @nonreentrant is called, setting the lock overwrites the overlapping storage variable, corrupting contract state and breaking the contract's intended logic.

    • Update to 0.2.15
    Published Updated
  8. CVE-2020-37289

    Medium · CVSS 6.3EPSS 0.26%Fix available

    Vyper before 0.3.1 Improper Input Validation of uint8 Interface Return Values

    Vyper before 0.3.1 lacks a uint8 type, allowing interface return values declared as uint8, such as ERC20.decimals(), to be stored in uint256 variables without bounds checking. Malicious contracts can return values greater than 255 to manipulate or bypass contract logic that relies on these values.

    • Update to 0.3.1
    Published Updated
  9. CVE-2020-37288

    Medium · CVSS 6.3EPSS 0.35%Fix available

    Vyper 0.1.0b10 before 0.2.3 Invalid Jump Destination via Return in Nested Loops

    Vyper from 0.1.0b10 before 0.2.3 generates incorrect code for a return statement inside a for loop in an internal function called two or more internal calls deep, producing an invalid jump destination (stack underflow). Affected contracts revert such calls unnecessarily, which in limited circumstances could enable denial of service against public contracts.

    • Update to 0.2.3
    Published Updated
  10. CVE-2020-37287

    High · CVSS 8.2EPSS 0.25%Fix available

    Vyper before 0.2.6 Call Stack Corruption via Complex Type Function Arguments

    Vyper before 0.2.6 contains a call stack corruption vulnerability that causes incorrect function outputs when complex types with non-base members are passed as arguments. Contracts passing multi-dimensional arrays or structs to internal or external functions receive corrupted values because the compiler assumed each subtype size is 32.

    • Update to 0.2.6
    Published Updated
  11. CVE-2020-37286

    High · CVSS 8.3EPSS 0.28%Fix available

    Vyper 0.1.0b4 before 0.3.0 Memory Corruption via Nested Internal Function Calls

    Vyper from 0.1.0b4 before 0.3.0 contains a memory corruption vulnerability caused by an incorrect stack tip pointer when internal function calls appear inside tuples or nested calls. Contracts using such calls as tuple elements, call arguments, or builtin arguments like concat or ecrecover can return corrupted values or pass wrong arguments to external calls.

    • Update to 0.2.6
    • Update to 0.3.0
    Published Updated
  12. CVE-2026-113726

    High · CVSS 7.8EPSS 0.26%Fix available

    virtualenv activate runs commands from the environment name in zsh with PROMPT_SUBST

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.13.0, the bash activate script that zsh also sources leaves the environment name unescaped; from 21.13.0 until 21.14.4, it escapes backslashes, dollar signs, and backticks only when BASH_VERSION is set, so zsh receives the raw value. The script assigns that value to PS1. In zsh with PROMPT_SUBST, an attacker-influenced environment directory, --prompt, or VIRTUALENV_PROMPT value containing command, parameter, or arithmetic expansion syntax can therefore execute commands in the user's shell each time the prompt is drawn. A percent sign is separately interpreted

    • Update to 21.14.4
    Published Updated
  13. CVE-2026-113776

    High · CVSS 7.8EPSS 0.27%Fix available

    virtualenv activation scripts run code from a path that contains a placeholder name

    virtualenv is a tool for creating isolated virtual python environments. From 20.26.6 until 21.14.2, ViaTemplateActivator.instantiate_template() replaces placeholders one key at a time across the complete activation template, so trigger names such as __VIRTUAL_NAME__, __VIRTUAL_ENV__, or __VIRTUAL_PROMPT__ inside an already substituted and quoted environment path or prompt can be replaced during a later pass. The later value's quoting can close the earlier literal and execute the remaining path when a user activates the environment through bash, fish, xonsh, or activate_this.py. The distinct csh prompt-display token __VIRTUAL_PROMPT_DISPLAY_TC

    • Update to 21.14.2
    Published Updated
  14. CVE-2026-113732

    High · CVSS 7.8EPSS 0.24%Fix available

    virtualenv activate.fish runs commands from a path or prompt with a backslash before a quote

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.2, FishActivator inherits ViaTemplateActivator.quote(), which uses POSIX shlex.quote() even though fish interprets backslashes and single quotes differently. An attacker-influenced environment path, --prompt, or VIRTUALENV_PROMPT value containing a backslash before a quote can therefore terminate the generated fish literal and execute command substitution when the user sources activate.fish. This issue is fixed in version 21.14.2.

    • Update to 21.14.2
    Published Updated
  15. PYSEC-2026-4321

    Not ratedFix available

    uv's bundled CA store trusts an emSign root whose intermediate CA keys are compromised

    By default, uv verifies TLS connections against a vendored copy of the `webpki-root-certs` bundle. Versions before 0.13.4 include the `emSign ECC Root CA - G3` root. Eight eMudhra intermediate CA certificates that chain to that root have compromised private keys, and the CA has revoked them. An attacker with one of the compromised keys can issue certificates that uv accepts for any hostname, and can be used to issue certificates to enable MITM attacks. uv 0.13.4 removes the root from its vendored bundle, following `webpki-root-certs` 1.0.10. Upgrade to 0.13.4 or later.

    • Update to 0.13.4
    Published Updated
  16. PYSEC-2026-4320

    Not ratedFix available

    certifi bundles emSign root CAs with compromised intermediate CA keys

    Certifi versions before 2026.10.18 include the `emSign ECC Root CA - G3` root certificate in their bundled CA store. Eight eMudhra intermediate CA certificates that chain to this root have compromised private keys and the CA has revoked them. An attacker with one of the compromised keys can issue valid-looking certificates for any hostname. If the attacker is also on-path, they can intercept or modify TLS traffic from clients that trust the certifi bundle. Examples include `requests`, `urllib3` and `pip`, and the Python.org macOS installer. Certifi 2026.10.18 removed all emSign roots from the bundle. Certifi 2026.10.19 restored the emSign

    • Update to 2026.10.19
    Published Updated
  17. CVE-2026-113731

    Low · CVSS 3.3EPSS 0.19%Public exploitFix available

    djust: Arbitrary absolute-path file read in the find_handlers_for_template MCP tool

    djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. From 0.9.0 until 1.0.10, 1.1.7, 1.2.4, and 1.3.0rc8, the find_handlers_for_template MCP tool in python/djust/mcp/server.py accepts an existing absolute template_path and reads it without restricting the resolved path to the project or configured template directories. A local MCP client can use the tool as a file existence and readability oracle and can obtain substrings that match the tool's dj-click, dj-submit, dj-change, dj-input, dj-keydown, or dj-keyup attribute pattern from files readable by the djust process. The maintainer ass

    • Update to 1.0.10
    • Update to 1.1.7
    • Update to 1.2.4
    • Update to 1.3.0rc8
    Published Updated
  18. CVE-2026-112899

    Not ratedFix available

    Pillow: EPS load(scale) lets Ghostscript render past the decompression bomb limit

    ``` ============================================================================ EPS load(scale) lets Ghostscript render past the decompression bomb limit Location: src/PIL/EpsImagePlugin.py:92 in Ghostscript() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ============================================================================ ``` When an application opens an untrusted Encapsulated PostScript file and asks Pillow to render it at a larger scale, Pillow has Ghostscript produce an image several times bigger than Pillow's configured size limit allows. The size check runs only after Ghostscript has finished rendering and written the fu

    • Update to 13.0.0
    Published Updated
  19. CVE-2026-113725

    High · CVSS 7.8EPSS 0.19%Public exploitFix available

    virtualenv bash activate runs commands from an environment name with a backslash before $

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.7, the bash activate script escapes the environment name for only one of the two passes bash makes over PS1, so a backslash in the name undoes the escaping and a name containing \$(...) runs as commands in the user's shell each time bash draws the prompt. This issue is fixed in version 21.14.7.

    • Update to 21.14.7
    Published Updated
  20. CVE-2026-113724

    Medium · CVSS 4.5EPSS 0.14%Fix available

    virtualenv: Deletion recovery can change a symlink target's mode

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the safe_delete() deletion error handler responds to a failed removal by reading mode bits with os.lstat(path) and applying owner-write permission with os.chmod(path, ...), which follows a symlink. A planted link inside a read-only directory can therefore cause a victim-owned target outside the destination that is initially not writable by the invoking user to become broadly writable before the retry fails, provided that user owns the target and can change its mode. Another account can use the widened mode only if it can traverse the target's parent dire

    • Update to 21.14.9
    Published Updated

Check your server

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

Check your server →