Quick answers
- Is CVE-2026-61598 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-61598 being exploited in the wild.
- How severe is CVE-2026-61598?
- High severity, with a CVSS score of 4, published 16 September 2026.
- Which products and versions are affected?
- djust (PyPI) < 1.0.7, ECOSYSTEM:introduced=0,fixed=1.0.7.
- Is there a fix for CVE-2026-61598?
- Yes. djust (PyPI): upgrade to 1.0.7 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-61598 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-61598?
- Check whether you run djust (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- djust (PyPI): upgrade to 1.0.7 or later
pip install "djust>=1.0.7"
Technical details
The vulnerability is a mass-assignment / authorization bypass in the `djust.mixins.model_binding.ModelBindingMixin.update_model()` handler, which is included in the base LiveView MRO and thus exposed on every view by default. The handler accepts a client-supplied `field` name and calls `setattr()` to update a view attribute, with weak controls: a 14-entry denylist of framework internals (`FORBIDDEN_MODEL_FIELDS`), rejection of underscore-prefixed names, optional `allowed_model_fields` allowlist (defaults to None = all allowed), and existence check via `hasattr()`. This permits setting any public, existing view attribute—including authorization/ownership/business state fields never exposed via `dj-model=` bindings in the template. Attack vector is the WebSocket (`{type:event, event:"update_model", params:{field, value}}`), requires network access and (for authenticated views) a valid session. Attackers can achieve state tampering, IDOR, privilege escalation, or price/quantity manipulation. Patch: version 1.0.7 restricts the handler to only fields declared with `dj-model=` in the template or requires explicit allowlist configuration.
Affected products
- djust-org djust < 1.0.7
Identifiers
- CVE-2026-61598
- GHSA-cc7c-9jff-58wj
- PYSEC-2026-4042
Timeline
- 2026-06-22: disclosed
- 2026-09-16: advisory
- 2026-06-22: patched: Version 1.0.7 released with fix