Katalog CVE

CVE-2026-61591

WysokieCVSS 8.1
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W bibliotece djust przed wersją 1.0.7 dla widoków korzystających z migawek stanu, pole state_json osadzone w stronie klienta było przywracane po ponownym połączeniu jako zaufany stan widoku bez weryfikacji integralności. Klient mógł edytować niepodpisany state_json i wstrzyknąć dowolne atrybuty widoku, np. ustawić is_admin na True lub zmienić account_id/balance.

Ocena ryzyka

Umożliwia to eskalację uprawnień oraz manipulację danymi biznesowymi przechowywanymi w publicznych atrybutach widoku, co może prowadzić do nieautoryzowanych działań i naruszenia integralności danych.

Rekomendacja

Zaktualizuj djust do wersji 1.0.7 lub nowszej. Jako obejście nie włączaj migawek stanu i nie przechowuj informacji o autoryzacji/własności w publicznych atrybutach widoku.

Inne podatności w djust

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS