p PatchFirst

PatchFirst · Latest vulnerabilities

Python stack vulnerabilities · Page 8

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

Filter vulnerabilities
Python

Vulnerabilities: 7029

  1. CVE-2026-112395

    Medium · CVSS 6.5EPSS 0.37%Public exploitFix available

    Pillow tiled-TIFF decoder reads past tile buffer in copy4 (Unpack.c:1290)

    Pillow is a Python imaging library. From 8.2.0 until 13.0.0, Pillow's tiled-TIFF decoder can read past the tile buffer while copying four-byte pixels. In _decodeTile, libtiff can return a tile allocation smaller than the required row stride multiplied by the tile length, and Pillow's stride-and-copy loop walks beyond that allocation. An attacker can supply a crafted tiled TIFF to an application that loads it. This can expose adjacent heap data in pixels or crash the process. This issue is fixed in version 13.0.0.

    • Update to 13.0.0
    Published Updated
  2. CVE-2026-112394

    Medium · CVSS 6.3EPSS 0.51%Public exploitFix available

    Pillow: P;2L and P;4L decoders may read 1 to 3 bytes past the passed buffer size

    Pillow is a Python imaging library. Prior to 13.0.0, Pillow's P;2L and P;4L raw decoders can read past the end of an input buffer. ImagingRawDecode calculates a packed-pixel row size, while the unpackers read separately padded bit planes. A caller can supply a buffer and image dimensions whose accepted size is smaller than the unpacker's actual footprint. This can disclose up to three adjacent heap bytes in output pixels or crash the process. This issue is fixed in version 13.0.0.

    • Update to 13.0.0
    Published Updated
  3. CVE-2026-112393

    Critical · CVSS 9.2EPSS 0.82%Public exploitFix available

    Pillow: Heap buffer overflow in _tiffWriteProc when saving TIFF to BytesIO

    Pillow is a Python imaging library. From 2.0.0 until 13.0.0, Pillow has a heap buffer overflow and stale-heap disclosure in _tiffWriteProc when saving compressed TIFF data through libtiff to a target without a usable fileno(), such as BytesIO. The callback sizes its allocation from the prior buffer size instead of the current write position, allowing an attacker-controlled out-of-line TIFF tag or retained ICC profile to be copied beyond the allocation after libtiff seeks forward. This overflow can crash the process and may allow code execution. Independently, unwritten alignment gaps in compressed TIFF output larger than 64 KiB can disclose s

    • Update to 13.0.0
    Published Updated
  4. CVE-2026-112391

    Medium · CVSS 6.3EPSS 0.58%Fix available

    Pillow: PdfParser can recurse without limit in get_value() and linearize_page_tree()

    Pillow is a Python imaging library. From 5.1.0 until 13.0.0, Pillow's PdfParser.get_value() can recurse without a limit while reading nested PDF objects. The parser follows attacker-controlled arrays and dictionaries when an existing PDF is opened for append. An attacker can provide a deeply nested PDF to an application that saves an image with PDF append enabled. This can raise an uncaught RecursionError or terminate the worker, causing denial of service. This issue is fixed in version 13.0.0.

    • Update to 13.0.0
    Published Updated
  5. CVE-2026-112390

    High · CVSS 8.2EPSS 0.59%Fix available

    Pillow: Infinite loop in MIC n_frames when the embedded TIFF

    Pillow is a Python imaging library. From 7.2.0 until 13.0.0, Pillow can enter an infinite loop while determining the frame count of a MIC image. MicImageFile inherits TIFF frame traversal, but MicImageFile.tell reports the OLE stream index and its seek() resets TIFF frame state, so an embedded TIFF with at least three IFDs never advances. When an application with olefile installed reads n_frames or saves all frames from a crafted MIC file, the non-advancing traversal can hold a worker at full CPU indefinitely. This issue is fixed in version 13.0.0.

    • Update to 13.0.0
    Published Updated
  6. GHSA-2g87-pp6c-29x5

    High · CVSS 8.7Fix available

    aiohttp: Multiple instances of excessive or unbounded memory/CPU use

    ### Summary Multiple cases were found where aiohttp could use excessive or unbounded memory, or excessive CPU consumption on attacker controlled requests. ### Impact An attacker could cause resource exhaustion through specially crafted requests.

    • Update to 3.14.4
    Published Updated
  7. CVE-2026-111750

    Medium · CVSS 6.3EPSS 0.38%Fix available

    AIOHTTP: Pure-Python parser request smuggling

    AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.4, the pure Python parser accepts ambiguous HTTP request framing. An unauthenticated attacker can consequently smuggle requests when an application uses AIOHTTP_NO_EXTENSIONS or otherwise runs without a standard wheel and an intermediary interprets the framing differently. This issue is fixed in version 3.14.4.

    • Update to 3.14.4
    Published Updated
  8. CVE-2026-111749

    Low · CVSS 2.3EPSS 0.38%Fix available

    AIOHTTP: Cookie from subdomain can remove Host-Only Scope from existing cookies

    AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.4, Host-Only scope on an existing parent-domain cookie can be removed by a subdomain. A user who accesses an untrusted subdomain can consequently have host-only protections stripped from cookies, although impact is limited when applications do not reflect those cookies to a browser. This issue is fixed in version 3.14.4.

    • Update to 3.14.4
    Published Updated
  9. CVE-2026-111748

    Medium · CVSS 6.3EPSS 0.39%Fix available

    AIOHTTP: Absolute-form request targets can spoof Request.scheme

    AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.4, an attacker can send an absolute-form request that causes Request.scheme to use attacker-controlled request-target scheme data instead of the connection protocol. Applications that use Request.scheme for security decisions can consequently be tricked into treating an unencrypted connection as encrypted or an encrypted connection as unencrypted. This issue is fixed in version 3.14.4.

    • Update to 3.14.4
    Published Updated
  10. CVE-2026-111066

    High · CVSS 8.2EPSS 0.41%Fix available

    AIOHTTP: File descriptor exhaustion in multipart requests

    AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. From 2.0.0 until 3.14.4, multipart request processing can retain an unbounded number of open file descriptors. An unauthenticated attacker can consequently exhaust file descriptors with specially crafted multipart requests when a handler uses Request.post(). This issue is fixed in version 3.14.4.

    • Update to 3.14.4
    Published Updated
  11. CVE-2026-111065

    Medium · CVSS 6.9EPSS 0.4%Fix available

    AIOHTTP: Connector pool exhaustion via Max-Age overflow

    AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.4, Max-Age processing can overflow and skip closing a connection. An attacker can consequently exhaust the connection pool temporarily until garbage collection resolves the connections. This issue is fixed in version 3.14.4.

    • Update to 3.14.4
    Published Updated
  12. GHSA-pcc4-rvhr-2pr8

    Medium · CVSS 6.8Fix available

    Graphify Fortran extractor: incomplete cpp #include hardening allows arbitrary host-file read/exfiltration when indexing an untrusted repo

    ## Summary The Fortran extractor's C-preprocessor step (`graphify/extractors/fortran.py`, `_cpp_preprocess`) applies an incomplete `#include` hardening. The `-nostdinc -I /dev/null` flags it relies on (comment "Security (F-007)") do **not** stop a capital-`F` Fortran source file from including **absolute paths** (`#include "/etc/passwd"`) or from **path-traversing out of the corpus** (`#include "../../../../home/victim/.ssh/id_rsa"`). `cpp` always searches the directory of the file being preprocessed for quoted includes and always honours absolute include paths, regardless of `-nostdinc`/`-I`. As a result, indexing an untrusted repository th

    • Update to 0.9.70
    Published Updated
  13. CVE-2026-111064

    High · CVSS 8.2EPSS 0.4%Fix available

    aiohttp server lacks an initial request/header timeout

    AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.4, keepalive timeout handling is absent during the initial portion of a request. An attacker can keep an idle connection open indefinitely before sending any request data, consuming server connection capacity. This issue is fixed in version 3.14.4.

    • Update to 3.14.4
    Published Updated
  14. CVE-2026-111063

    Medium · CVSS 6.3EPSS 0.23%Fix available

    AIOHTTP: Secure attribute not enforced for shared cookie

    AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.4, the Secure attribute for a shared cookie is not enforced. An attacker can consequently cause a shared cookie marked Secure to be sent with an unencrypted request. This issue is fixed in version 3.14.4.

    • Update to 3.14.4
    Published Updated
  15. CVE-2026-111059

    Medium · CVSS 6.1EPSS 0.28%Fix available

    Mercury: Stored / DOM Cross-Site Scripting (XSS): mr.Markdown renders untrusted content as raw, unsanitized HTML

    Mercury is a Python framework for sharing Jupyter notebooks as web applications and dashboards. From 3.0.0 until 3.2.11, mr.Markdown converts attacker-controlled Markdown to HTML without sanitizing raw HTML before assigning it to an ipywidgets.HTML sink. Event-handler attributes and other active HTML can therefore reach the DOM and execute when another user views the application. This issue is fixed in version 3.2.11.

    • Update to 3.2.11
    Published Updated
  16. CVE-2026-111058

    Critical · CVSS 9.8EPSS 0.52%Public exploitFix available

    Mercury: Unauthenticated Remote Code Execution via /api/kernels

    Mercury is a Python framework for sharing Jupyter notebooks as web applications and dashboards. Prior to 3.2.6, default tokenless deployments allow anonymous clients to create Jupyter kernels and send execute_request messages containing arbitrary Python. The endpoint blocklist does not cover /api/kernels, and the websocket wrapper previously tracked idle activity without authorizing executable messages. This issue is fixed in version 3.2.6.

    • Update to 3.2.6
    Published Updated
  17. CVE-2026-111057

    Critical · CVSS 10EPSS 0.44%Public exploitFix available

    Mercury: Unauthenticated Remote Code Execution in /api/terminals - access control bypass

    Mercury is a Python framework for sharing Jupyter notebooks as web applications and dashboards. From 3.0.0 until 3.2.4, a missing comma in BLOCKED_PATTERNS concatenates the /lab and /api/terminals regular-expression literals. Requests to /api/terminals therefore bypass the anonymous endpoint blocklist and reach Jupyter Server's terminal API. An unauthenticated attacker can use the resulting interactive operating-system shell to execute commands and access data available to the Mercury process. This issue is fixed in version 3.2.4.

    • Update to 3.2.4
    Published Updated
  18. CVE-2026-108372

    High · CVSS 7.1EPSS 0.3%Fix available

    LoopX serve-status permissive CORS policy exposes control-plane state and private Markdown files

    Open and provider-neutral, LoopX is a lightweight state kernel and local-first control plane for loop engineering. From version 0.0.1 until 0.4.5, `loopx serve-status` in `loopx/status_server.py` uses `StatusRequestHandler._send_json()` and `do_OPTIONS()` to send `Access-Control-Allow-Origin: *` for unauthenticated responses on predictable loopback ports. A remote attacker can cause an operator who visits attacker-controlled web content to issue cross-origin requests to `GET /status.json`, `GET /review-material?goal_id=...&path=...`, `GET /`, and `POST /control-plane/configure-goal/dry-run`, exposing control-plane state, goal and run informat

    • Update to 0.4.5
    Published Updated
  19. CVE-2026-96620

    Critical · CVSS 9.2EPSS 0.7%Fix available

    Claude Agent SDK: Argument Injection via resume Option Allows Arbitrary Command Execution

    Claude Agent SDK is a Python SDK for Claude Code. Prior to 0.2.121, the resume option is passed to the Claude CLI as a separate token without validation, so a dash-leading value is parsed as an independent CLI flag. An attacker can inject the --mcp-config flag to define a stdio MCP server, causing arbitrary command execution at CLI startup outside the SDK permission controls. The issue is exploitable when an application passes untrusted input as the session ID to resume. This issue is fixed in version 0.2.121.

    • Update to 0.2.121
    Published Updated
  20. CVE-2026-68549

    Low · CVSS 3.3Fix available

    ClickMigrate has Path Traversal in "revision -m" argument

    ### Impact A path traversal vulnerability in the `revision` command allowed a crafted migration name supplied via the `-m` argument to escape the intended migrations directory. Under specific conditions, an attacker could cause the tool to create a `.sql` file in an arbitrary location writable by the user executing the command. This issue is only exploitable if an attacker can influence the migration name passed to the `revision` command, such as through an insecure automation or CI/CD pipeline that forwards untrusted input. ### Patches The vulnerability has been fixed in version 1.0.3 by validating and sanitizing the migration name to pre

    • Update to 1.0.3
    Published Updated

Check your server

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

Check your server →