Nixpkgs security tracker

Try the new UI
Login with GitHub

Suggestions search

With package: python313Packages.adjusttext

Found 13 matching suggestions

View:
Compact
Detailed
Dismissed
(not in Nixpkgs)
Permalink CVE-2026-61598
7.1 HIGH
  • CVSS version (CVSS): 4.0
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Attack Requirement (AT): None (N)
  • Privileges Required (PR): Low (L)
  • User Interaction (UI): None (N)
  • Vulnerable System Impact Confidentiality (VC): None (N)
  • Vulnerable System Impact Integrity (VI): High (H)
  • Vulnerable System Impact Availability (VA): None (N)
  • Subsequent System Impact Confidentiality (SC): None (N)
  • Subsequent System Impact Integrity (SI): None (N)
  • Subsequent System Impact Availability (SA): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Attack Requirement (MAT): None (N)
  • Modified Privileges Required (MPR): Low (L)
  • Modified User Interaction (MUI): None (N)
  • Modified Vulnerable System Impact Confidentiality (MVC): None (N)
  • Modified Vulnerable System Impact Integrity (MVI): High (H)
  • Modified Vulnerable System Impact Availability (MVA): None (N)
  • Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
  • Modified Subsequent System Impact Integrity (MSI): Negligible (N)
  • Modified Subsequent System Impact Availability (MSA): Negligible (N)
  • Safety (S): Not Defined (X)
  • Automatable (AU): Not Defined (X)
  • Recovery (R): Not Defined (X)
  • Value Density (V): Not Defined (X)
  • Vulnerability Response Effort (RE): Not Defined (X)
  • Provider Urgency (U): Not Defined (X)
  • Confidentiality Req. (CR): Not Defined (X)
  • Integrity Req. (IR): Not Defined (X)
  • Availability Req. (AR): Not Defined (X)
  • Exploit Maturity (E): Not Defined (X)
updated 4 days, 19 hours ago by @LeSuisse Activity log
  • Created suggestion
  • @LeSuisse dismissed (not in Nixpkgs)
Client mass-assignment of arbitrary view attributes via the default dj-model update_model handler

djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, `djust.mixins.model_binding.ModelBindingMixin` provides a default `update_model` event handler and is part of the LiveView base MRO, so every LiveView exposes it. It `setattr`s a view attribute whose name is client-supplied (`field`), gated only by: reject `_`-prefixed names; reject a 14-entry denylist of framework internals (`FORBIDDEN_MODEL_FIELDS`); optional `allowed_model_fields` which defaults to None = allow all; and `hasattr` existence. As a result, a client can set any public, existing view attribute — not just the fields actually bound with `dj-model=` in the rendered template. The denylist covers framework plumbing but nothing about developer business/authz state, and the allowlist is opt-in (off by default). A developer who binds one `dj-model="search"` input and also keeps `self.account_id` / `self.is_admin` / `self.total_price` as view state does not realize a client can set ALL of them via `{type:event, event:"update_model", params:{field, value}}` over the WebSocket. Type coercion matches the target attribute's type (so `"true"` -> bool True), aiding the attacker. This issue is fixed in djust 1.0.7. As a workaround, set `allowed_model_fields` explicitly on every view using dj-model (or subclassing LiveView) to the minimal list of bindable fields; do not keep authorization/ownership state in public view attributes that share the view with dj-model bindings.

Affected products

djust
  • ==< 1.0.7

Matching in nixpkgs

pkgs.gnomeExtensions.displays-adjustments

Offers sliders to control external displays' brightness and contrast through DDC. Extension requires ddcutil-service to be installed.

  • nixos-unstable 11
    • nixpkgs-unstable 11
    • nixos-unstable-small 11
  • nixos-26.05 11
    • nixos-26.05-small 11
    • nixpkgs-26.05-darwin 11

pkgs.gnomeExtensions.blur-wallpaper-with-adjustable-intensity

Creates a static blurred copy of your current desktop wallpaper for better performance and artifact-free workspace switching. Set intensity from 0 to 300 and wait a moment. Note: ImageMagick (the `magick` command) must be installed.

  • nixos-unstable 5
    • nixpkgs-unstable 5
    • nixos-unstable-small 8
  • nixos-26.05 5
    • nixos-26.05-small 5
    • nixpkgs-26.05-darwin 5

Package maintainers

Dismissed
(not in Nixpkgs)
Permalink CVE-2026-61590
7.4 HIGH
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): High (H)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): High (H)
  • Integrity (I): High (H)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): High (H)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): High (H)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): High (H)
  • Modified Availability (MA): None (N)
updated 4 days, 19 hours ago by @LeSuisse Activity log
  • Created suggestion
  • @LeSuisse dismissed (not in Nixpkgs)
djust's observability endpoints are network-exposed: the localhost gate is an opt-in middleware the docs omit, and the views enforce only DEBUG

djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, djust's observability endpoints expose live view/session state and a remote method-invocation surface (`eval_handler`). The localhost restriction was an opt-in middleware that the documented setup omits; the views themselves enforced only `DEBUG`. In the misconfigured-but-documented scenario (DEBUG on, middleware not installed) a non-localhost client could read live application state and invoke handlers remotely. This issue is fixed in djust 1.0.7. The localhost restriction is enforced in-view on every observability endpoint (no longer dependent on a separately-installed middleware), and `eval_handler` is restricted; gated requests receive a non-disclosing response. As a workaround, ensure `DEBUG=False` in production, and do not expose the observability endpoints to untrusted networks.

Affected products

djust
  • ==< 1.0.7

Matching in nixpkgs

pkgs.gnomeExtensions.displays-adjustments

Offers sliders to control external displays' brightness and contrast through DDC. Extension requires ddcutil-service to be installed.

  • nixos-unstable 11
    • nixpkgs-unstable 11
    • nixos-unstable-small 11
  • nixos-26.05 11
    • nixos-26.05-small 11
    • nixpkgs-26.05-darwin 11

pkgs.gnomeExtensions.blur-wallpaper-with-adjustable-intensity

Creates a static blurred copy of your current desktop wallpaper for better performance and artifact-free workspace switching. Set intensity from 0 to 300 and wait a moment. Note: ImageMagick (the `magick` command) must be installed.

  • nixos-unstable 5
    • nixpkgs-unstable 5
    • nixos-unstable-small 8
  • nixos-26.05 5
    • nixos-26.05-small 5
    • nixpkgs-26.05-darwin 5

Package maintainers

Dismissed
(not in Nixpkgs)
Permalink CVE-2026-61591
8.1 HIGH
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): Low (L)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): High (H)
  • Integrity (I): High (H)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Privileges Required (MPR): Low (L)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): High (H)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): High (H)
  • Modified Availability (MA): None (N)
updated 4 days, 20 hours ago by @LeSuisse Activity log
  • Created suggestion
  • @LeSuisse dismissed (not in Nixpkgs)
djust: Unsigned client state snapshot is restored as trusted view state (privilege escalation / state injection)

djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, for views that opt into state snapshots, the snapshot `state_json` embedded in the client page was restored on reconnect as trusted view state with no integrity check. A client could edit the unsigned `state_json` in their page and return it in the reconnect mount frame to inject arbitrary view attributes — e.g. flip `is_admin` to `True`, or change `account_id` / `balance` — escalating privilege or tampering with business state held in public view attributes (the normal djust pattern). This issue is fixed in djust 1.0.7. State snapshots are signed; unsigned or forged snapshots are rejected on the back-navigation restore path. As a workaround, do not enable state snapshots; do not hold authorization/ownership state in public view attributes.

Affected products

djust
  • ==< 1.0.7

Matching in nixpkgs

pkgs.gnomeExtensions.displays-adjustments

Offers sliders to control external displays' brightness and contrast through DDC. Extension requires ddcutil-service to be installed.

  • nixos-unstable 11
    • nixpkgs-unstable 11
    • nixos-unstable-small 11
  • nixos-26.05 11
    • nixos-26.05-small 11
    • nixpkgs-26.05-darwin 11

pkgs.gnomeExtensions.blur-wallpaper-with-adjustable-intensity

Creates a static blurred copy of your current desktop wallpaper for better performance and artifact-free workspace switching. Set intensity from 0 to 300 and wait a moment. Note: ImageMagick (the `magick` command) must be installed.

  • nixos-unstable 5
    • nixpkgs-unstable 5
    • nixos-unstable-small 8
  • nixos-26.05 5
    • nixos-26.05-small 5
    • nixpkgs-26.05-darwin 5

Package maintainers

Untriaged
Permalink CVE-2026-61592
7.4 HIGH
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): High (H)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): High (H)
  • Integrity (I): High (H)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): High (H)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): High (H)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): High (H)
  • Modified Availability (MA): None (N)
created 5 days, 2 hours ago Activity log
  • Created suggestion
djust: SSE sessions are not bound to the authenticated user; the client-chosen session_id is the sole authorization capability (session hijack)

djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, SSE sessions were keyed solely by a client-chosen `session_id` with no binding to the authenticated user — a control the WebSocket transport has but that was dropped on SSE. An attacker who learns (or a victim who leaks) a `session_id` could connect to the message endpoint and dispatch event handlers that execute with the victim's identity and state. This is fixed in djust 1.0.7. Each SSE session is bound to its owning principal at creation and cross-principal access is rejected; SSE session creation is additionally capped per principal. As a workaround, disable the SSE transport.

Affected products

djust
  • ==< 1.0.7

Matching in nixpkgs

pkgs.python313Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.python314Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.gnomeExtensions.displays-adjustments

Offers sliders to control external displays' brightness and contrast through DDC. Extension requires ddcutil-service to be installed.

  • nixos-unstable -
    • nixos-unstable-small 11
  • nixos-26.05 -
    • nixos-26.05-small 11

pkgs.gnomeExtensions.blur-wallpaper-with-adjustable-intensity

Creates a static blurred copy of your current desktop wallpaper for better performance and artifact-free workspace switching. Set intensity from 0 to 300 and wait a moment. Note: ImageMagick (the `magick` command) must be installed.

  • nixos-unstable -
    • nixos-unstable-small 8
  • nixos-26.05 -
    • nixos-26.05-small 5

Package maintainers

Untriaged
Permalink CVE-2026-61599
8.8 HIGH
  • CVSS version (CVSS): 4.0
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Attack Requirement (AT): None (N)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): None (N)
  • Vulnerable System Impact Confidentiality (VC): Low (L)
  • Vulnerable System Impact Integrity (VI): High (H)
  • Vulnerable System Impact Availability (VA): Low (L)
  • Subsequent System Impact Confidentiality (SC): None (N)
  • Subsequent System Impact Integrity (SI): None (N)
  • Subsequent System Impact Availability (SA): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Attack Requirement (MAT): None (N)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): None (N)
  • Modified Vulnerable System Impact Confidentiality (MVC): Low (L)
  • Modified Vulnerable System Impact Integrity (MVI): High (H)
  • Modified Vulnerable System Impact Availability (MVA): Low (L)
  • Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
  • Modified Subsequent System Impact Integrity (MSI): Negligible (N)
  • Modified Subsequent System Impact Availability (MSA): Negligible (N)
  • Safety (S): Not Defined (X)
  • Automatable (AU): Not Defined (X)
  • Recovery (R): Not Defined (X)
  • Value Density (V): Not Defined (X)
  • Vulnerability Response Effort (RE): Not Defined (X)
  • Provider Urgency (U): Not Defined (X)
  • Confidentiality Req. (CR): Not Defined (X)
  • Integrity Req. (IR): Not Defined (X)
  • Availability Req. (AR): Not Defined (X)
  • Exploit Maturity (E): Not Defined (X)
created 5 days, 2 hours ago Activity log
  • Created suggestion
djust has an unauthenticated arbitrary module import via the WebSocket/SSE view-mount path

djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, the djust live transport resolves the LiveView to mount from a client-supplied dotted path by calling `__import__(module_path, ...)`. The module is imported — running its top-level code (import side effects) — before the framework checks that the resolved object is a `LiveView` subclass and before any per-view authentication. The `LIVEVIEW_ALLOWED_MODULES` allowlist that should contain this is fail-open (`if allowed_modules:` — skipped when the setting is unset, the framework default) and uses loose `startswith` matching. An unauthenticated WebSocket client (the WS handshake does not require auth; per-view auth runs only after import + instantiate) can therefore send a `mount` / `live_redirect_mount` / `url_change` frame (or an SSE mount) with `view = "<any.importable.module>.AnyName"` and cause the server to import — and execute the top-level code of — any importable Python module by name. Version 1.0.7 fixes the issue with a fail-closed resolution gate (`djust._view_resolution.is_view_import_allowed`): a client view path resolves only if (a) its module is already loaded (`sys.modules` — so resolving runs no new code; URL-routed views loaded by URLconf at startup keep working with zero config) or (b) it matches `LIVEVIEW_ALLOWED_MODULES` on a module-segment boundary (explicit opt-in for lazily-imported views). The gate runs before `__import__` at all three sinks (+ defense-in-depth inside `_instantiate_view`). As a workaround, set `LIVEVIEW_ALLOWED_MODULES` to the narrow list of modules that contain your mountable LiveView classes. (Note: pre-patch the allowlist is `startswith`-matched and the import still precedes the subclass check, so this is mitigation, not a complete fix.)

Affected products

djust
  • ==< 1.0.7

Matching in nixpkgs

pkgs.python313Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.python314Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.gnomeExtensions.displays-adjustments

Offers sliders to control external displays' brightness and contrast through DDC. Extension requires ddcutil-service to be installed.

  • nixos-unstable -
    • nixos-unstable-small 11
  • nixos-26.05 -
    • nixos-26.05-small 11

pkgs.gnomeExtensions.blur-wallpaper-with-adjustable-intensity

Creates a static blurred copy of your current desktop wallpaper for better performance and artifact-free workspace switching. Set intensity from 0 to 300 and wait a moment. Note: ImageMagick (the `magick` command) must be installed.

  • nixos-unstable -
    • nixos-unstable-small 8
  • nixos-26.05 -
    • nixos-26.05-small 5

Package maintainers

Untriaged
Permalink CVE-2026-61589
6.3 MEDIUM
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): High (H)
  • Privileges Required (PR): Low (L)
  • User Interaction (UI): None (N)
  • Scope (S): Changed (C)
  • Confidentiality (C): High (H)
  • Integrity (I): None (N)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): High (H)
  • Modified Privileges Required (MPR): Low (L)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): High (H)
  • Modified Scope (MS): Changed (C)
  • Modified Integrity (MI): None (N)
  • Modified Availability (MA): None (N)
created 5 days, 2 hours ago Activity log
  • Created suggestion
djust: WebSocket/runtime reconstructed request omits the client Host, causing host/subdomain TenantResolvers to misresolve the tenant on the live path

djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, the WebSocket `handle_mount` and `ViewRuntime._build_request` rebuild an `HttpRequest` via `RequestFactory().get(...)` with no `HTTP_HOST`, so `request.get_host()` defaulted to `"testserver"` on the live path. Host/subdomain/domain `TenantResolver`s then misresolved the tenant — `None` on the live path while the HTTP path resolved correctly. With `STRICT_MODE=False` the tenant-scoped managers returned unscoped rows (cross-tenant disclosure); with the default they returned an empty queryset (broken tenancy). This is fixed in djust 1.0.7. The handshake Host is extracted from the ASGI scope, validated against `ALLOWED_HOSTS` (the same logic as the CSWSH Origin gate, parsed with Django's `split_domain_port` so malformed Hosts are rejected at the boundary), and propagated — with the TLS scheme — into the reconstructed request, so live-path tenant resolution matches HTTP exactly. There is no known workaround on the live path short of upgrading. Users are most exposed when combined with `STRICT_MODE=False`.

Affected products

djust
  • ==< 1.0.7

Matching in nixpkgs

pkgs.python313Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.python314Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.gnomeExtensions.displays-adjustments

Offers sliders to control external displays' brightness and contrast through DDC. Extension requires ddcutil-service to be installed.

  • nixos-unstable -
    • nixos-unstable-small 11
  • nixos-26.05 -
    • nixos-26.05-small 11

pkgs.gnomeExtensions.blur-wallpaper-with-adjustable-intensity

Creates a static blurred copy of your current desktop wallpaper for better performance and artifact-free workspace switching. Set intensity from 0 to 300 and wait a moment. Note: ImageMagick (the `magick` command) must be installed.

  • nixos-unstable -
    • nixos-unstable-small 8
  • nixos-26.05 -
    • nixos-26.05-small 5

Package maintainers

Untriaged
Permalink CVE-2026-61596
7.1 HIGH
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): Low (L)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): High (H)
  • Integrity (I): Low (L)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Privileges Required (MPR): Low (L)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): High (H)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): Low (L)
  • Modified Availability (MA): None (N)
created 5 days, 2 hours ago Activity log
  • Created suggestion
djust has broken object-level access control (IDOR)

djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, djust's per-object authorization (`get_object` + `has_object_permission`, ADR-017) was enforced on the WebSocket mount and event paths but not on three other render entry points: (a) the initial HTTP GET render, (b) SPA `url_change` navigation, and (c) `{% live_render %}` embedded child views. An authenticated user could therefore view (and on some paths act on) an object they are not authorized for by loading the page directly, navigating to it via SPA url-change, or composing it as an embedded child — a classic IDOR / broken object-level access control on object-scoped views. This is fixed in djust 1.0.7. All render entry points now route through a shared `enforce_object_permission` chokepoint: HTTP GET returns 403, `url_change` emits a `permission_denied` frame and skips the render, and `{% live_render %}` (eager + lazy) refuses the embed. Views without a custom `get_object` are unaffected (no-op). No reliable workaround short of upgrading. Do not expose object-scoped views through the HTTP-GET / url_change / live_render paths until patched.

Affected products

djust
  • ==< 1.0.7

Matching in nixpkgs

pkgs.python313Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.python314Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.gnomeExtensions.displays-adjustments

Offers sliders to control external displays' brightness and contrast through DDC. Extension requires ddcutil-service to be installed.

  • nixos-unstable -
    • nixos-unstable-small 11
  • nixos-26.05 -
    • nixos-26.05-small 11

pkgs.gnomeExtensions.blur-wallpaper-with-adjustable-intensity

Creates a static blurred copy of your current desktop wallpaper for better performance and artifact-free workspace switching. Set intensity from 0 to 300 and wait a moment. Note: ImageMagick (the `magick` command) must be installed.

  • nixos-unstable -
    • nixos-unstable-small 8
  • nixos-26.05 -
    • nixos-26.05-small 5

Package maintainers

Untriaged
Permalink CVE-2026-61595
7.7 HIGH
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): Low (L)
  • User Interaction (UI): None (N)
  • Scope (S): Changed (C)
  • Confidentiality (C): High (H)
  • Integrity (I): None (N)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Privileges Required (MPR): Low (L)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): High (H)
  • Modified Scope (MS): Changed (C)
  • Modified Integrity (MI): None (N)
  • Modified Availability (MA): None (N)
created 5 days, 2 hours ago Activity log
  • Created suggestion
djust: Multi-tenant isolation fails open on the WebSocket/SSE path, disclosing other tenants' data

djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, `djust.tenants` isolation was enforced only on the HTTP path. The current tenant was stored in `threading.local()` and set exclusively by the HTTP-only `TenantMiddleware`, so on the live (WebSocket/SSE) path `get_current_tenant()` was always `None` during mount and every event handler — and the tenant-aware `QuerySet` manager failed OPEN (returned the unfiltered queryset, ignoring `STRICT_MODE`), disclosing every tenant's rows to whoever held the socket. `threading.local` was additionally shared across connections on the `sync_to_async` executor thread. This issue is fixed in djust 1.0.7. Tenant storage moved to a `contextvars.ContextVar` (per async task); the resolved tenant is bound around WS/SSE mount and every dispatch; both managers scope the base queryset once and fail CLOSED (`.none()` under the default `STRICT_MODE`); and system check S006 warns when `STRICT_MODE=False`. No known workarounds are available on the live path.

Affected products

djust
  • ==< 1.0.7

Matching in nixpkgs

pkgs.python313Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.python314Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.gnomeExtensions.displays-adjustments

Offers sliders to control external displays' brightness and contrast through DDC. Extension requires ddcutil-service to be installed.

  • nixos-unstable -
    • nixos-unstable-small 11
  • nixos-26.05 -
    • nixos-26.05-small 11

pkgs.gnomeExtensions.blur-wallpaper-with-adjustable-intensity

Creates a static blurred copy of your current desktop wallpaper for better performance and artifact-free workspace switching. Set intensity from 0 to 300 and wait a moment. Note: ImageMagick (the `magick` command) must be installed.

  • nixos-unstable -
    • nixos-unstable-small 8
  • nixos-26.05 -
    • nixos-26.05-small 5

Package maintainers

Untriaged
Permalink CVE-2026-61593
8.1 HIGH
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): Required (R)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): High (H)
  • Integrity (I): High (H)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): Required (R)
  • Modified Confidentiality (MC): High (H)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): High (H)
  • Modified Availability (MA): None (N)
created 5 days, 2 hours ago Activity log
  • Created suggestion
djust has Cross-Site Request Forgery on the Server-Sent-Events transport: a cross-origin page can drive a victim-authenticated SSE session

djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, the SSE client→server POST endpoints are `@csrf_exempt` and the SSE GET stream endpoint had no Origin check, so a cross-origin page could drive a victim-cookie-authenticated SSE session: force the victim's browser to GET the stream URL (which creates and mounts a LiveView as the victim) and POST to the message endpoint with `credentials: include` to fire state-changing event handlers as the victim. The URL `session_id` is client-chosen (validated only for UUID *format*), so it is not a CSRF token, and a JSON body sent as `text/plain` is a CORS simple request with no preflight. The issue is fixed in 1.0.7. All three SSE endpoints validate the request `Origin` against `ALLOWED_HOSTS` (mirroring the WebSocket CSWSH defense) and reject cross-origin requests with 403; the POST endpoints additionally require `Content-Type: application/json` (415 otherwise), closing the `text/plain` simple-request bypass. As a workaround, disable the SSE transport, or front it with a proxy that enforces an Origin allowlist.

Affected products

djust
  • ==< 1.0.7

Matching in nixpkgs

pkgs.python313Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.python314Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.gnomeExtensions.displays-adjustments

Offers sliders to control external displays' brightness and contrast through DDC. Extension requires ddcutil-service to be installed.

  • nixos-unstable -
    • nixos-unstable-small 11
  • nixos-26.05 -
    • nixos-26.05-small 11

pkgs.gnomeExtensions.blur-wallpaper-with-adjustable-intensity

Creates a static blurred copy of your current desktop wallpaper for better performance and artifact-free workspace switching. Set intensity from 0 to 300 and wait a moment. Note: ImageMagick (the `magick` command) must be installed.

  • nixos-unstable -
    • nixos-unstable-small 8
  • nixos-26.05 -
    • nixos-26.05-small 5

Package maintainers

Untriaged
Permalink CVE-2026-61597
5.1 MEDIUM
  • CVSS version (CVSS): 4.0
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Attack Requirement (AT): None (N)
  • Privileges Required (PR): Low (L)
  • User Interaction (UI): Passive (P)
  • Vulnerable System Impact Confidentiality (VC): None (N)
  • Vulnerable System Impact Integrity (VI): None (N)
  • Vulnerable System Impact Availability (VA): None (N)
  • Subsequent System Impact Confidentiality (SC): Low (L)
  • Subsequent System Impact Integrity (SI): Low (L)
  • Subsequent System Impact Availability (SA): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Attack Requirement (MAT): None (N)
  • Modified Privileges Required (MPR): Low (L)
  • Modified User Interaction (MUI): Passive (P)
  • Modified Vulnerable System Impact Confidentiality (MVC): None (N)
  • Modified Vulnerable System Impact Integrity (MVI): None (N)
  • Modified Vulnerable System Impact Availability (MVA): None (N)
  • Modified Subsequent System Impact Confidentiality (MSC): Low (L)
  • Modified Subsequent System Impact Integrity (MSI): Low (L)
  • Modified Subsequent System Impact Availability (MSA): Negligible (N)
  • Safety (S): Not Defined (X)
  • Automatable (AU): Not Defined (X)
  • Recovery (R): Not Defined (X)
  • Value Density (V): Not Defined (X)
  • Vulnerability Response Effort (RE): Not Defined (X)
  • Provider Urgency (U): Not Defined (X)
  • Confidentiality Req. (CR): Not Defined (X)
  • Integrity Req. (IR): Not Defined (X)
  • Availability Req. (AR): Not Defined (X)
  • Exploit Maturity (E): Not Defined (X)
created 5 days, 2 hours ago Activity log
  • Created suggestion
djust is vulnerable to stored/reflected XSS via javascript: URLs in built-in component template tags

djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, many djust built-in component template tags (`djust.components.templatetags.*`) render a developer/user-supplied URL into an `href` / `action` attribute, HTML-escaping it with `conditional_escape` but never validating the URL scheme. HTML escaping prevents attribute breakout but does not neutralize a `javascript:` URI (which needs no escapable characters), so a URL value of `javascript:alert(document.cookie)` lands verbatim in `<a href="javascript:alert(document.cookie)">` and executes in the victim's session on click. Version 1.0.7 contains a fix. As a workaround, do not pass user-controllable URLs to the affected built-in component tags; pre-validate URL schemes in application code before binding them to component arguments.

Affected products

djust
  • ==< 1.0.7

Matching in nixpkgs

pkgs.python313Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.python314Packages.adjusttext

Iteratively adjust text position in matplotlib plots to minimize overlaps

  • nixos-unstable -
    • nixos-unstable-small 1.4.0
  • nixos-26.05 -
    • nixos-26.05-small 1.3.0

pkgs.gnomeExtensions.displays-adjustments

Offers sliders to control external displays' brightness and contrast through DDC. Extension requires ddcutil-service to be installed.

  • nixos-unstable -
    • nixos-unstable-small 11
  • nixos-26.05 -
    • nixos-26.05-small 11

pkgs.gnomeExtensions.blur-wallpaper-with-adjustable-intensity

Creates a static blurred copy of your current desktop wallpaper for better performance and artifact-free workspace switching. Set intensity from 0 to 300 and wait a moment. Note: ImageMagick (the `magick` command) must be installed.

  • nixos-unstable -
    • nixos-unstable-small 8
  • nixos-26.05 -
    • nixos-26.05-small 5

Package maintainers