Vulnerability in djust (CVE-2026-55571)
Summary
Vulnerability in djust (CVE-2026-55571). Data can be tampered with by attackers. Exploitable via LiveViewConsumer. Mitigation: upgrade to 1.0.4 or later.
Original description
The description as published by the source.
Impact
djust's LiveViewConsumer mounts a LiveView over a WebSocket. When a view is gated (login_required / permission_required, or an on_mount hook that returns a redirect) and the connecting user is not authorized, the consumer sent the client a {"type":"navigate","to":...} redirect frame and then returned — without closing the socket and without clearing self.view_instance. Only the PermissionDenied branch closed the connection (close(4403)).
A real browser obeys the navigate frame and leaves, hiding the problem. A raw WebSocket client that ignores the redirect keeps an open, mounted socket. Because handle_event did not re-check authentication/authorization after mount, that client could then send {"type":"event", ...} frames and invoke any @event_handler method on the gated view with no authenticated session — an authentication bypass on the live mutation path.
Who is affected: apps that expose LiveViews gated by login_required / permission_required / a redirecting on_mount hook, where the gated view's event handlers perform sensitive reads or mutations and do not independently re-verify the user. Exploitation requires a non-browser WebSocket client and knowledge (or enumeration) of the view path and event names.
Patches
Fixed in djust 1.0.4 (commit 1ae8aa9, PR #1780). Both the auth-redirect and on_mount-hook-redirect branches of handle_mount now send the navigate frame **and then close(code=4403) a…
Source: GitHub Security Advisories (Global) NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-55571 has been found in djust.
Attackers can target a specific entry point like LiveViewConsumer over the network to misuse the product.
Data can be tampered with by attackers. CVSS score: 8.2/10.
What to do: upgrade djust to 1.0.4 or later.
If unsure, ask your IT team or search "djust CVE-2026-55571" on the vendor's site.
CVE-2026-55571 (djust) — CWE-285 / CVSS v3 8.2
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: LiveViewConsumer / LiveView / login_required / permission_required
Patched: 1.0.4 — apply immediately
Workaround: Upgrade to 1.0.4.
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-285) exists in djust. Attackers reach the vulnerable code path via LiveViewConsumer without authentication.
Check the vendor advisory for the affected versions of djust. Attack surface: LiveViewConsumer / LiveView / login_required / permission_required.
Severity: High (CVSS 8.2/10). Data can be tampered with by attackers.
Update to 1.0.4.
Workaround: Upgrade to 1.0.4.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'djust' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'djust' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
djustを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply temporary workaround mitigate
Upgrade to 1.0.4.パッチが適用されるまでの応急処置として、Upgrade to 1.0.4. を実施。回避策の副作用 (機能低下) を確認した上で。
-
3Apply patch patch
Upgrade djust to 1.0.4ステージング環境で 1.0.4 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
4Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。