CVE-2026-61591 djust: Unsigned client state snapshot is restored as trusted view state (privilege escalation / state injection)

High 8.1 Published Updated

Attackers can escalate privileges or tamper with business state by injecting arbitrary view attributes via unsigned client state snapshots in djust.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-61591?

CVE-2026-61591 is a high-severity vulnerability in djust-org djust, published on 16 Sep 2026. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

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.

Weakness: CWE-915, CWE-345

Which versions are affected by CVE-2026-61591?

3 open source packages ship an affected version, including djust.

PackageAffectedFixed in
djust PyPIAll versions1.0.7
djust PyPIAll versions1.0.7
djust PyPIAll versions1.0.7

How do I fix CVE-2026-61591?

Upgrade djust to 1.0.7 or later.

Is CVE-2026-61591 being exploited?

There is no known exploitation of CVE-2026-61591 in the wild and no public exploit code.

Sources

Also known as GHSA-c67v-vqrp-m5wj, PYSEC-2026-4040.

Is CVE-2026-61591 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free