p PatchFirst

PatchFirst · Latest vulnerabilities

Python stack vulnerabilities · Page 13

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

Filter vulnerabilities
Python

Vulnerabilities: 7065

  1. CVE-2026-107287

    Medium · CVSS 6.5EPSS 0.28%Fix available

    Pydantic AI: Excessive resource use when local web fetching converts nested HTML

    Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. From 1.77.0 until 1.107.7 and 2.52.0, the local web_fetch_tool and the WebFetch local fallback can consume excessive CPU and memory during HTML-to-Markdown conversion of attacker-controlled HTML containing deeply nested block elements. Conversion repeatedly reprocesses accumulated text and can greatly expand intermediate output before the returned-content limit is applied, allowing a model-directed fetch to delay other work in the process. Provider-native web fetching is not affected. This issue is fixed in versions 1.107.7 and 2.52.0.

    • Update to 1.107.7
    • Update to 2.52.0
    Published Updated
  2. CVE-2026-107286

    High · CVSS 7.5EPSS 0.45%Fix available

    Pydantic AI: Concurrency-limited models can keep their slot when a streamed request ends early

    Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. From 2.10.0 until 2.53.0, streamed requests made through ConcurrencyLimitedModel or limit_model_concurrency can retain shared concurrency slots because anyio.CapacityLimiter associates an acquired slot with the borrowing task while streaming cleanup can run in a different task. Early stream termination, cancellation, consumer exceptions, or complete stream_text() consumption with debounce_by=0.1 can therefore leave capacity occupied, eventually preventing later requests that share the long-lived limiter from proceeding and causing a denial of s

    • Update to 2.53.0
    Published Updated
  3. CVE-2026-46438

    Medium · CVSS 6.5EPSS 0.23%Public exploitNo fix published

    wger: Cross-User Data Corruption via Missing Ownership Check on WorkoutLog.slot_entry

    wger is a free, open-source workout and fitness manager. Prior to version 2.6, an authenticated attacker can inject arbitrary workout log entries into any other user's `SlotEntry` by supplying the victim's `slot_entry` ID in a `POST /api/v2/workoutlog/` request. The `slot_entry` foreign key is not included in the ownership verification performed by `WorkoutLogViewSet.get_owner_objects()`, so the server accepts and persists the cross-user reference without error. Because `SlotEntry.get_config_data()` retrieves associated logs via `self.workoutlog_set.all()` with no user filter, the attacker's injected data is silently folded into the victim's

    Published Updated
  4. CVE-2026-46437

    Medium · CVSS 4.8EPSS 0.24%Public exploitNo fix published

    wger: API credentials remain valid after logout/password change

    wger is a free, open-source workout and fitness manager. Versions prior to 2.6 have a vulnerability in the authentication/session lifecycle of `wger` where bearer-style API credentials remain valid after a user logs out and after a user changes their password. An attacker who steals a victim’s DRF authtoken (`Authorization: Token ...`) or JWT refresh token can continue to access protected `/api/v2/*` endpoints until the token is manually rotated/deleted (DRF token) or naturally expires (JWT refresh). Version 2.6 contains a patch.

    Published Updated
  5. CVE-2026-46434

    High · CVSS 7.1EPSS 0.22%Public exploitNo fix published

    wger: Trainer Privilege Escalation - Improper Privilege Management

    wger is a free, open-source workout and fitness manager. Prior to version 2.6, a user with only the `gym_trainer` permission can deactivate any account in the same gym, including `gym_manager` and `general_gym_manager` accounts. The `UserDeactivateView` grants access to anyone holding any one of `gym.manage_gym`, `gym.manage_gyms`, or `gym.gym_trainer` (OR logic via `WgerMultiplePermissionRequiredMixin`), and performs no privilege-hierarchy check to prevent a lower-privileged role from disabling a higher-privileged one. Version 2.6 fixes the issue.

    Published Updated
  6. CVE-2026-45161

    Medium · CVSS 5.4EPSS 0.09%Public exploitNo fix published

    wger: trainer_login accepts GET - CSRF bypass enables forced session rebinding

    wger is a free, open-source workout and fitness manager. Prior to version 2.6, the `trainer_login` view in wger accepts GET requests and executes `django_login()` without any CSRF protection, because Django's `CsrfViewMiddleware` only enforces tokens on unsafe methods (POST/PUT/PATCH/DELETE). An attacker can embed a single `<img>` tag on a malicious page; when an authenticated trainer loads that page, their browser auto-issues the GET with the session cookie, forcibly rebinding the trainer's session to an arbitrary user account. Version 2.6 fixes the issue.

    Published Updated
  7. CVE-2026-43976

    High · CVSS 7.1EPSS 0.22%Public exploitNo fix published

    wger: cross-tenant admin notes/contracts leak via gym=None bypass (5 views)

    wger is a free, open-source workout and fitness manager. Prior to version 2.6, five gym management views in wger apply a flawed gym-scope guard (`gym_a != gym_b`) that silently passes when both operands are `None`. A trainer with `gym.gym_trainer` and `gym.add_adminusernote` permissions and no gym assignment (`gym=None`) can read private admin notes, uploaded documents, gym contracts, user configuration, and user permission data for **any other unaffiliated user** on the instance. The subsequent querysets filter only on the attacker-supplied `member_id` with no secondary gym-scoped validation, so all records are disclosed. Version 2.6 fixes t

    Published Updated
  8. CVE-2026-105192

    Critical · CVSS 9.8EPSS 0.77%Public exploitFix available

    LMCache Unauthenticated RCE in multiprocess mode via pickle deserialization

    LMCache multiprocess mode, also called distributed mode, opens an unauthenticated ZeroMQ ROUTER so worker processes can register and share KV cache blocks. Messages on that socket are msgpack. Extension code 1 is passed to DeviceIPCWrapper.Deserialize, which calls pickle.loads, while the server is still decoding request arguments and before the handler runs. A single unauthenticated ZMQ DEALER message to the transport port (default 5555) therefore executes code as the user the LMCache process runs as. Official container images run that process as root. The transport binds to localhost unless the operator sets a routable address with --host, w

    • Update to 0.5.6
    Published Updated
  9. CVE-2026-106454

    Medium · CVSS 4.3EPSS 0.42%Fix available

    Twisted: IMAP wildcardToRegexp() ReDoS

    Twisted is an event-based framework for internet applications, supporting Python 3.6+. In 25.5.0 and earlier, wildcardToRegexp() in twisted/mail/imap4.py translates the IMAP asterisk and percent wildcards but passes all other characters from an authenticated client's LIST or LSUB pattern directly to re.compile(), allowing nested or otherwise expensive regular expression constructs to cause catastrophic backtracking when matched against mailbox names. Because Twisted uses a cooperative single-threaded reactor, the blocking match suspends all server input and output for the duration of the match. No fixed release is available as of this review.

    • Update to 26.4.0-5
    Published Updated
  10. CVE-2026-106443

    High · CVSS 8.8EPSS 0.7%Fix available

    WeasyPrint: EPS images reach the Ghostscript interpreter resulting in RCE

    WeasyPrint helps web developers to create PDF documents. Prior to 70.0, the image-loading path in weasyprint/images.py passes fetched image bytes from HTML img URLs, CSS image values, SVG image references, and data URIs to Pillow's generic image dispatcher without excluding EPS or PostScript formats. On hosts with Ghostscript installed, Pillow EpsImagePlugin invokes the interpreter for attacker-controlled PostScript, which can produce interpreter-permitted effects and can lead to remote code execution when the installed Ghostscript version has a usable sandbox bypass. Hosts without Ghostscript do not reach this rasterization path. This issue

    • Update to 70.0
    • Update to 70.0-1
    Published Updated
  11. CVE-2026-106442

    High · CVSS 7.8EPSS 0.16%Fix available

    Hydra instantiate target blacklist bypasses permit code execution

    Hydra is a framework for elegantly configuring complex applications. From 1.3.4 until 1.3.6 and 1.4.0.dev9, the instantiate() target blacklist introduced for CVE-2026-68508 incompletely checks the effective callable selected by the target field. Execution wrappers such as timeit.timeit, executable deserialization through pickle.loads, aliases, callable-returning helpers, generic dispatch, and deferred calls can obscure or defer the effective target and bypass name-based authorization. An attacker who causes an application to instantiate untrusted Hydra configuration can use these gaps to execute code with the application's privileges. This is

    • Update to 1.3.6
    • Update to 1.4.0.dev9
    Published Updated
  12. CVE-2026-106441

    High · CVSS 7.8EPSS 0.17%Fix available

    Hydra logging configuration permits unsafe callable resolution

    Hydra is a framework for elegantly configuring complex applications. Prior to 1.3.6 and 1.4.0.dev9, Hydra passes Python logging configuration to logging.config.dictConfig() without applying Hydra's target policy to handler class values or formatter, filter, handler, queue, and listener factories. An attacker who controls Hydra logging configuration can therefore select an importable class or factory and cause it to be invoked with the application's privileges, even in versions where instantiate() is protected because the logging path does not use instantiate(). This issue is fixed in versions 1.3.6 and 1.4.0.dev9.

    • Update to 1.3.6
    • Update to 1.4.0.dev9
    Published Updated
  13. CVE-2026-106440

    High · CVSS 7.8EPSS 0.27%Fix available

    Hydra: Optuna custom_search_space can resolve and execute untrusted callables via get_method

    Hydra is a framework for elegantly configuring complex applications. From 1.2.0 until 1.3.0 and 1.4.0.dev10, the hydra-optuna-sweeper package accepts a configuration-controlled dotted path in hydra.sweeper.custom_search_space, resolves it with hydra.utils.get_method(), and later invokes the returned callable in the Hydra controller process. Because get_method() is a trusted-input lookup helper and does not apply the execution policy used by instantiate(), an attacker who controls Optuna sweep configuration or command-line overrides can select importable Python code for execution with the application's privileges, including bypassing a trusted

    • Update to 1.3.0
    • Update to 1.4.0.dev10
    Published Updated
  14. CVE-2026-106439

    High · CVSS 8.5EPSS 0.46%Fix available

    Hydra: Mutable instantiate policy sets allow target blocklist bypass

    Hydra is a framework for elegantly configuring complex applications. From 1.3.4 until 1.3.7 and 1.4.0.dev10, Hydra stores legacy instantiate target blocklists and related execution-policy collections in mutable module-level state. An attacker who controls multiple sibling target entries can resolve hydra._internal.target_policy.UNCONTROLLED_EXECUTION_TARGETS.discard through instantiate(), remove a denied target, and then invoke that target because sibling nodes are processed in insertion order against the same modified policy. The mutation persists in process-global state and can enable code execution with the application's privileges, while

    • Update to 1.3.7
    • Update to 1.4.0.dev10
    Published Updated
  15. CVE-2026-105801

    High · CVSS 8.4EPSS 0.14%Fix available

    openapi-python-client: Malicious OpenAPI Documents can cause Arbitrary Code Generation

    openapi-python-client generates Python clients from OpenAPI documents. Prior to 0.29.1, the generator does not safely neutralize malicious OpenAPI document content before rendering string, docstring, and f-string contexts in generated Python. The generated Python client can contain attacker-controlled Python that executes when a user imports the client, affecting the importing environment's integrity and potentially its confidentiality and availability. This issue is fixed in version 0.29.1.

    • Update to 0.29.1
    Published Updated
  16. CVE-2026-105922

    Medium · CVSS 5.3EPSS 0.31%Fix available

    vllm-project vLLM Penalty utils.py get_token_bin_counts_and_mask denial of service

    A security flaw has been discovered in vllm-project vLLM up to 0.31.0. This impacts the function get_token_bin_counts_and_mask of the file vllm/model_executor/layers/utils.py of the component Penalty Handler. Performing a manipulation results in denial of service. Remote exploitation of the attack is possible. The exploit has been released to the public and may be used for attacks. The project was informed of the problem early through an issue report but has not responded yet.

    • Update to 0.32.0
    Published Updated
  17. GHSA-j8f7-x8jm-wmm4

    Medium · CVSS 6.3Fix available

    Langflow: SSRF in URL-taking components (protection disabled by default / warn-only, not applied to RSS, SearXNG, Web Search, Home Assistant, Glean, Docling)

    ### Summary Before **Langflow 1.10.3**, several built-in components sent server-side HTTP requests to URLs the flow author controls, with no SSRF enforcement. An authenticated user who can build or run flows could make the Langflow server reach loopback, RFC 1918 / private networks, link-local addresses and cloud metadata endpoints (for example `http://169.254.169.254/latest/meta-data/`), and in many cases read the response back through the component output. Two things combined to cause this: 1. **Protection disabled / warn-only.** The SSRF guard (`lfx/utils/ssrf_protection.py`, added in 1.7.0 by #10544) shipped with `ssrf_protection_enabl

    • Update to 0.1.2
    • Update to 0.10.3
    • Update to 1.10.3
    Published Updated
  18. CVE-2026-105782

    High · CVSS 7.5EPSS 0.38%Fix available

    Scrapy: Arbitrary Module Import via Referrer-Policy Header in RefererMiddleware

    Scrapy is a high-level web crawling and scraping framework for Python. From 1.4.0 until 2.14.2, RefererMiddleware in scrapy/spidermiddlewares/referer.py treated a Referrer-Policy response-header value that resembled a Python import path as a referrer policy class, imported the referenced object, and called it. A malicious website could supply a callable such as sys.exit and terminate a crawler processing the response. This issue is fixed in version 2.14.2.

    • Update to 2.14.2
    • Update to 2.14.2-1
    Published Updated
  19. CVE-2026-105760

    Medium · CVSS 5.3EPSS 0.3%Public exploitFix available

    vLLM: GLMGA video sampling permits request-driven CPU and memory exhaustion

    vLLM is an inference and serving engine for large language models. Prior to 0.30.0, a caller can use the request-level media_io_kwargs field to select the GLMGA video backend and supply large values for the fps and max_frames options without a strict work ceiling. GLMGA constructs and deduplicates an attacker-sized pre-decode frame-index list, allowing a compact request and tiny valid video to consume disproportionate CPU time and memory in the shared media-loading executor. This issue is fixed in version 0.30.0.

    • Update to 0.30.0
    Published Updated
  20. CVE-2026-105759

    Medium · CVSS 5.9EPSS 0.41%Fix available

    vLLM: Unbounded Prometheus label cardinality from attacker-controlled HTTP method tokens in the vLLM Rust frontend metrics middleware (unauthenticated denial of service)

    vLLM is an inference and serving engine for large language models. Prior to 0.30.0, the Rust frontend's track_http_metrics middleware records the raw HTTP method token as a Prometheus label for requests reaching registered routes. An unauthenticated attacker can send unique arbitrary method tokens to unguarded routes such as /tokenize, causing Prometheus's Family::get_or_create function to permanently create counter and histogram label sets. Those label sets increase process memory usage and enlarge the /metrics response until the service or monitoring path is exhausted. This issue is fixed in version 0.30.0.

    • Update to 0.30.0
    Published Updated

Check your server

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

Check your server →