CVE-2026-61598
Last modified
CVE-2026-61598 is a high-severity vulnerability rated 7.1/10 on the CVSS scale. 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.
Description
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.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| djust-org | djust | < 1.0.7 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-61598?
How severe is CVE-2026-61598?
How do I fix CVE-2026-61598?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-61574authentik is an open-source identity provider. Prior to 2026…8.8
- CVE-2026-6158A flaw has been found in Totolink N300RH 6.1c.1353_B20190305…7.3
- CVE-2026-6159A vulnerability has been found in code-projects Simple ChatB…4.3
- CVE-2026-61590djust provides Phoenix LiveView-style reactive server-side r…7.4
- CVE-2026-61593djust provides Phoenix LiveView-style reactive server-side r…8.1
- CVE-2026-61595djust provides Phoenix LiveView-style reactive server-side r…7.7
- CVE-2026-6160A vulnerability was found in code-projects Simple ChatBox 1.…5.5
- CVE-2026-61605Rejected reason: ** REJECT ** DO NOT USE THIS CANDIDATE NUMB…
- CVE-2026-61606Rejected reason: ** REJECT ** DO NOT USE THIS CANDIDATE NUMB…
- CVE-2026-61607Grav API Plugin is a RESTful API for Grav CMS that provides …4.6
- CVE-2026-61608SolidInvoice is an open-source invoicing platform. Prior to …6.8
- CVE-2026-61609Pterodactyl is a free, open-source game server management pa…7.5
Are you affected by CVE-2026-61598?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
