p PatchFirst

PatchFirst · Latest vulnerabilities

Python stack vulnerabilities · Page 40

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

Filter vulnerabilities
Python

Vulnerabilities: 7116

  1. CVE-2026-54624

    Medium · CVSS 6.5EPSS 0.41%Fix available

    django CMS: Structure endpoint bypasses page-view permission

    django CMS is an easy-to-use and developer-friendly enterprise content management system powered by Django. Prior to 5.0.8, render_object_structure in cms/views.py renders cms/toolbar/structure.html for a PageContent object without calling user_can_view_page(). Any staff account can request a restricted page’s structure when CMS_PERMISSION is enabled and the page has view restrictions or CMS_PUBLIC_FOR is set to staff. The response exposes plugin get_short_description() values, including link names, URLs, and text snippets, rather than only the page shape. This issue is fixed in versions 5.0.8.

    • Update to 5.0.8
    Published Updated
  2. CVE-2026-54623

    High · CVSS 7.1EPSS 0.49%Fix available

    django CMS: Plugin move endpoint allows cyclic reparenting (DoS)

    django CMS is an easy-to-use and developer-friendly enterprise content management system powered by Django. Prior to 5.0.8, the move_plugin endpoint in cms/admin/placeholderadmin.py accepts an attacker-controlled plugin_parent value without rejecting a plugin’s own identifier or a descendant identifier. A staff user with plugin-change permission under CMS_PERMISSION can create a parent_id cycle in the plugin tree. The _get_descendants_cte and _get_ancestors_cte queries in cms/models/pluginmodel.py have no cycle guard, so get_descendants() and later rendering, copy, or delete operations can recurse indefinitely or reach a database recursion li

    • Update to 5.0.8
    Published Updated
  3. CVE-2026-54625

    Medium · CVSS 4.8EPSS 0.18%Fix available

    django CMS: Page cache ignores plugin-declared Vary headers (disclosure & poisoning)

    django CMS is a content management system powered by Django. Prior to 5.0.8 and in 5.1.0a1, the django CMS page cache in cms/cache/page.py ignores request headers declared by plugins through get_vary_cache_on(). The _page_cache_key function includes the cache prefix, site, language, path, and timezone but not the declared header values. Although set_page_cache adds those names to the response Vary header, get_page_cache retrieves the first stored variant under the same header-agnostic key. When CMS_PAGE_CACHE is enabled and a plugin varies content on a header such as Country-Code, one visitor can receive another visitor’s request-specific con

    • Update to 5.0.8
    Published Updated
  4. CVE-2026-71428

    Critical · CVSS 9.3EPSS 0.44%Fix available

    unstructured: Server-Side Request Forgery in the URL-based partitioning

    The unstructured library provides open-source components for ingesting and pre-processing images and text documents, such as PDFs, HTML, Word docs, and many more. From 0.4.7 until 0.24.0, the url argument of partition, partition_html, and partition_md is fetched without host validation in unstructured/partition/auto.py, unstructured/partition/html/partition.py, and unstructured/partition/md.py. An attacker who controls that URL can make a server-side ingestion service request loopback addresses, internal HTTP services, or cloud metadata endpoints through direct targets, redirects, or DNS rebinding. The response body is returned as Element tex

    • Update to 0.24.0
    Published Updated
  5. CVE-2026-54770

    Medium · CVSS 6.1EPSS 0.42%Fix available

    WebOb: Open redirect in Location header normalization via leading C0 control / space characters

    WebOb provides objects for HTTP requests and responses. Prior to 1.8.11, Response._make_location_absolute() in src/webob/response.py checks a Location value for a URI scheme or leading double slash before urllib.parse.urljoin() strips leading C0 control characters and spaces. An attacker-controlled value such as a space followed by a protocol-relative or absolute URL can therefore bypass SCHEME_RE and startswith("//") checks and be normalized to an off-host redirect. Request.relative_url() and webob.exc._HTTPMove subclasses, including HTTPFound, are also affected because they use the same unsafe URL joining behavior or bypass the earlier norm

    • Update to 1.8.11
    • Update to 1:1.8.11-1
    Published Updated
  6. CVE-2026-71492

    Medium · CVSS 6EPSS 0.47%Fix available

    Banks: Path traversal in `DirectoryPromptRegistry.set()` allows arbitrary file write outside the registry root

    Banks generates meaningful LLM prompts using a simple template language. Prior to version 2.4.5, DirectoryPromptRegistry.set() in src/banks/registries/directory.py interpolates attacker-controlled Prompt.name and Prompt.version values into a Path without canonicalization or containment validation. Relative traversal such as ../victim/foo and an absolute Prompt.name can escape or discard the configured registry root, while overwrite=True permits replacement of existing target files. The poisoned name is persisted in index.json and reconstructed by _load(), allowing the out-of-root path to survive later registry loads. An application that forwa

    • Update to 2.4.5
    Published Updated
  7. CVE-2026-54449

    High · CVSS 8.8EPSS 0.72%No fix published

    LangBot: Authenticated RCE Via MCP Configuration

    LangBot is a global IM bot platform designed for LLMs. In version 4.10.7 and earlier, any authenticated user can add or change an STDIO MCP server configuration without an adequate authorization boundary. In src/langbot/pkg/provider/tools/loaders/mcp.py, StdioServerParameters accepts the configured command and arguments and starts a server-side subprocess on the LangBot server. An attacker who can sign up or obtain an account can use the Extensions MCP configuration to execute arbitrary commands with the privileges of the LangBot service, enabling data disclosure, modification, and service disruption. No fixed version is available as of this

    Published Updated
  8. CVE-2026-49825

    High · CVSS 8.2EPSS 0.3%Fix available

    lxml: javascript: URL bypass in Cleaner via xlink:href

    lxml is a library for processing XML and HTML in the Python language. Prior to 6.1.1, link attributes in ``lxml.html.defs.link_attrs`` were missing ``xlink:href``, which can be used for URL bypass attacks in embedded SVG/MathML/etc. content. This vulnerability was fixed in lxml 6.1.1 and lxml_html_clean 0.4.5.

    • Update to 0.4.5
    • Update to 0.4.5-1
    • Update to 3.3.3-1ubuntu0.2+esm6
    • Update to 3.5.0-1ubuntu0.4+esm3
    • Update to 4.2.1-1ubuntu0.6+esm1
    • Update to 4.5.0-1ubuntu0.5+esm1
    • Update to 4.8.0-1ubuntu0.1
    • Update to 4.9.2-1+deb12u1
    • Update to 5.2.1-1ubuntu0.2
    • Update to 6.0.2-1ubuntu0.1
    • Update to 6.1.3-1
    Published Updated
  9. CVE-2026-55558

    Medium · CVSS 5.9EPSS 0.4%Fix available

    aiosmtplib: STARTTLS response injection

    aiosmtplib is an asynchronous SMTP client for use with asyncio. Prior to 5.1.2, SMTPProtocol.start_tls in src/aiosmtplib/protocol.py consumes the server's 220 response and starts the TLS handshake without clearing SMTPProtocol._buffer. An active network attacker can place attacker-chosen SMTP response lines after the plaintext 220 response in the same network segment. The method then calls loop.start_tls; those bytes survive the transport upgrade and are parsed as the first response from inside the TLS session, desynchronizing subsequent SMTP command and response pairs. Connections using start_tls=True or opportunistic STARTTLS are affected,

    • Update to 5.1.2
    • Update to 5.1.2-1
    Published Updated
  10. GHSA-p77j-g7h5-r2vw

    Not ratedFix available

    GeoLens's authorization and cache-scope flaws disclose private dataset data and metadata to unauthorized users (fixed in 1.2.4)

    GeoLens 1.2.4 fixes a set of vulnerabilities, the most serious of which allow authenticated or anonymous users to obtain data and metadata for datasets they are not authorized to access. ### Impact - **Private record metadata disclosure.** Record contact, keyword, and distribution sub-resource endpoints did not re-authorize the backing dataset, so any authenticated user could read a private record's contact details (PII), keywords, and distributions. (Runtime-proven.) - **Private tile data via shared caches.** Private raster and vector tiles were served with shared-cache (`Cache-Control: public`) headers, so a shared cache (a CDN or the bun

    • Update to 1.2.4
    Published Updated
  11. CVE-2026-19672

    Medium · CVSS 6.3EPSS 0.47%Fix available

    tarfile extraction filter bypass allows creation of directories outside the destination

    The tarfile module's tar and data extraction filters created directories outside the destination for members whose name leaves the destination and returns to it, such as ../evil/../dest/sub/file. The containment check used the resolved path, but intermediate directories were created from the name as given. Only empty directories are created outside the destination. Member contents are still extracted inside it. To return to the destination the member's name must contain the destination directory's own final component, so extraction into a secure randomised directory is not affected. This affects POSIX platforms only. On Windows, .. co

    • Update to 3.14.7-3
    • Update to 3.15.0~rc2-1
    • Update to 3.16.0
    Published Updated
  12. CVE-2026-76245

    High · CVSS 7.1EPSS 0.24%Fix available

    stigmem Federation Peer Token Timestamp Validation Bypass

    stigmem (pip package stigmem-node) version 0.9.0a1 contains a timestamp-handling mismatch in federation peer-token validation that can cause valid peer tokens to be incorrectly treated as expired. This affects the availability and reliability of authenticated federation flows on nodes using federation peer authentication paths. The issue is fixed in 0.9.0a2, which uses the canonical millisecond-based validation path.

    • Update to 0.9.0a2
    Published Updated
  13. CVE-2026-76244

    Critical · CVSS 9.1EPSS 0.27%Fix available

    stigmem-node Insecure Federation Transport Configuration

    stigmem-node contains an insecure default configuration vulnerability that allows federation traffic to traverse networks without mTLS protection when non-loopback endpoints are enabled. Operators who explicitly disabled mTLS while binding federation to non-loopback addresses expose federation traffic to cleartext interception and man-in-the-middle attacks.

    • Update to 0.9.0a2
    Published Updated
  14. CVE-2026-76243

    Critical · CVSS 9.2EPSS 0.56%Fix available

    stigmem before 0.9.0a2 Authentication Bypass via Disabled Auth

    stigmem versions before 0.9.0a2 allow unauthenticated access when authentication is disabled on non-loopback deployments. Attackers can perform read, write, and federation operations with anonymous identity when nodes are exposed outside local development environments.

    • Update to 0.9.0a2
    Published Updated
  15. CVE-2026-76242

    Critical · CVSS 9.1EPSS 0.35%Fix available

    stigmem Federation Peer Registration Authentication Bypass

    stigmem-node 0.9.0a1 accepts federation peer key material during peer registration without a separate administrator out-of-band fingerprint approval step. On nodes that accept federation peer registration over a network where initial registration can be intercepted or misdirected, an attacker can register a malicious peer and gain access to or tamper with federation traffic. Fixed in 0.9.0a2, which introduces a pending approval flow requiring administrator fingerprint verification before peer tokens are accepted.

    • Update to 0.9.0a2
    Published Updated
  16. CVE-2026-76241

    High · CVSS 7.3EPSS 0.11%Fix available

    stigmem Plugin Signature Enforcement Bypass via Configuration

    stigmem-node 0.9.0a1 allows plugin signature enforcement to be disabled via a single configuration flag without a second explicit acknowledgment. If that setting is carried into an environment where plugin directories are writable by less-trusted users, unsigned (potentially malicious) plugin code could be loaded and executed, resulting in arbitrary code execution. Fixed in 0.9.0a2, which requires a second explicit acknowledgment to disable signature enforcement.

    • Update to 0.9.0a2
    Published Updated
  17. CVE-2026-76240

    High · CVSS 7.5EPSS 0.38%Fix available

    stigmem Postgres SQL Injection via Schema Identifier

    stigmem-node 0.9.0a1 interpolates Postgres backend schema identifiers into SQL strings without defensive quoting. In the affected code path the schema value is operator-controlled, but the unsafe pattern could allow SQL injection if a schema name were derived from tenant, request, or user input. Fixed in 0.9.0a2, which adds identifier quoting and validation. As a workaround, only configure schema names from trusted deployment configuration.

    • Update to 0.9.0a2
    Published Updated
  18. CVE-2026-76239

    Medium · CVSS 5.3EPSS 0.32%Fix available

    Stigmem before 0.9.0a11 SSRF via unvalidated webhook delivery_address

    Stigmem before 0.9.0a11 fails to validate the delivery_address parameter when creating webhook subscriptions, allowing authenticated users to specify internal loopback and private network destinations. Attackers can trigger matching fact-change events to cause the Stigmem server to issue server-side HTTP POST requests to internal services, enabling blind SSRF attacks against localhost and private network endpoints.

    • Update to 0.9.0a11
    Published Updated
  19. CVE-2026-76238

    High · CVSS 7.2EPSS 0.36%Fix available

    stigmem before 0.9.0a12 Cross-Tenant BOLA via decay sweep

    stigmem versions before 0.9.0a12 contain a broken object level authorization vulnerability in the decay sweep endpoint that allows authenticated attackers with write credentials for one tenant to execute decay operations affecting all tenants. Attackers can submit POST requests to the decay sweep endpoint with ttl_seconds=0 to expire facts across all tenants, or use dry_run to obtain cross-tenant fact counts and existence information.

    • Update to 0.9.0a12
    Published Updated
  20. CVE-2026-76237

    High · CVSS 8.6EPSS 0.36%Fix available

    stigmem before 0.9.0a12 Cross-Tenant BOLA via quarantine

    stigmem-node before 0.9.0a12 contains a broken object level authorization (cross-tenant BOLA) vulnerability in the quarantine review endpoints. On multi-tenant deployments running the opt-in stigmem-plugin-multi-tenant, the list/count queries and _get_quarantined_fact in routes/quarantine.py lacked a tenant_id predicate and the garden lookup was not tenant-scoped, allowing a tenant administrator with only a plain tenant write capability to list, read, and admit or reject quarantined facts belonging to other tenants via the /v1/quarantine endpoints. Default single-tenant deployments are not affected.

    • Update to 0.9.0a12
    Published Updated

Check your server

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

Check your server →