CVE Catalog

CVE-2026-61591

HighCVSS 8.1
Published: Translated: NVD NIST

Summary

In djust prior to version 1.0.7, for views using state snapshots, the state_json embedded in the client page was restored on reconnect as trusted view state without integrity checks. A client could edit the unsigned state_json to inject arbitrary view attributes, such as flipping is_admin to True or changing account_id/balance.

Risk Assessment

This enables privilege escalation and tampering with business state held in public view attributes, potentially leading to unauthorized actions and data integrity violations.

Recommendation

Upgrade djust to version 1.0.7 or later. As a workaround, do not enable state snapshots and do not hold authorization/ownership state in public view attributes.

Other vulnerabilities in djust

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS