> CVE-2026-61598 [HIGH]

« BACK_TO_HOME
PUBLISHED
2026-09-16 14:17
MODIFIED
2026-09-16 14:17
CVSS_SCORE V3
7.1
EPSS (Prob. Exploit)
0.43%
Top 64.3%
DATA SOURCES:
NVD đź”— 2026-09-16 CWE MITRE đź”— 2026-10-01 FIRST EPSS đź”— 2026-10-18 GITHUB đź”— 2026-10-15 OSV đź”— 2026-10-19

> 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.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
Low (L)
Authentifié avec compte utilisateur basique
UI (Interaction Utilisateur)
User Interaction
None (N)
Aucune interaction utilisateur nécessaire
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
None (N)
Aucune divulgation d'informations
I (Impact Intégrité)
Integrity Impact
High (H)
Modification totale des données possible
A (Impact Disponibilité)
Availability Impact
None (N)
Aucune interruption de service

> RÉSUMÉ DES IMPACTS

Confidentialité
None
Aucune divulgation d'informations
Intégrité
High
Modification totale des données possible
Disponibilité
None
Aucune interruption de service

> WEAKNESSES

CWE-915

> CWE DETAILED DESCRIPTIONS

CWE-915: Improperly Controlled Modification of Dynamically-Determined Object Attributes - The product receives input from an upstream component that specifies multiple attributes, properties, or fields that are to be initialized or updated in an object, but it does not properly control which attributes can be modified.

> GITHUB SECURITY ADVISORY

GHSA-cc7c-9jff-58wj HIGH

djust: Client mass-assignment of arbitrary view attributes via the default dj-model update_model handler

AFFECTED PACKAGES:
PIP / djust
< 1.0.7
Fixed in: 1.0.7

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

Client mass-assignment of arbitrary view attributes via the default dj-model update_model handler

AFFECTED PACKAGES:
Unknown / Unknown
158 versions affected
ALIASES:
GHSA-cc7c-9jff-58wj, PYSEC-2026-4042

> HISTORIQUE DES MODIFICATIONS

Première apparition
16/09/2026 14:17
Source: NVD
📊 ENRICHISSEMENT 01/10/2026 06:01
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-915: Improperly Controlled Modification of Dynamically-Determined Object Attributes - The product receives input from an upstream component that specifies multiple attributes, properties, or field...
Total des modifications: 1 Dernière mise à jour: 3 weeks ago

> REFERENCES

https://github.com/djust-org/djust/releases/tag/v1.0.7
https://github.com/djust-org/djust/security/advisories/GHSA-cc7c-9jff-58wj
« BACK_TO_HOME