CVE-2026-61591
Published:September 16, 2026
Updated:October 12, 2026
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 Packages
https://github.com/djust-org/djust.git (GITHUB):
Affected version(s) >=v0.7.1rc1 <v1.0.7Fix Suggestion:
Update to version v1.0.7djust (PYTHON):
Affected version(s) >=0.1.0 <1.0.7Fix Suggestion:
Update to version 1.0.7Related Resources (7)
Do you need more information?
Contact UsCVSS v4
Base Score:
8.6
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
LOW
User Interaction
NONE
Vulnerable System Confidentiality
HIGH
Vulnerable System Integrity
HIGH
Vulnerable System Availability
NONE
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
8.1
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
NONE
Weakness Type (CWE)
EPSS
Base Score:
0.22