Register for the AI for Security Summit: Join Figma, Perplexity & Wiz

CVE-2026-61588
Python vulnerability analysis and mitigation

Overview

CVE-2026-61588 is an information disclosure vulnerability in djust, a Phoenix LiveView-style reactive server-side rendering framework for Django with Rust-powered performance. Prior to version 1.0.7, when a Django Model instance is assigned to a public view attribute, djust serializes the entire object to the client without any sensitive-field filtering — exposing password hashes, privilege flags (is_staff, is_superuser), tokens, and other PII to the browser. The vulnerability affects all djust versions before 1.0.7 and was originally published on June 22, 2026, with the advisory added to the GitHub Advisory Database on September 16, 2026. It carries a CVSS v3.1 base score of 6.5 (Medium) (Github Advisory, djust Security Advisory).

Technical details

The root cause is classified under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) and CWE-359 (Exposure of Private Personal Information to an Unauthorized Actor). When a developer assigns a Django Model instance to a public view attribute — a common and idiomatic djust pattern — the framework's serialization layer transmits the full model object, including all fields, to the client-side browser without applying any denylist for sensitive fields. Because this behavior is implicit and not visually obvious in the code, developers may unknowingly expose credential hashes, privilege flags, and PII without realizing the full object crosses the wire. Exploitation requires only low privileges (an authenticated session) and no user interaction, making it straightforward for any authenticated user to observe the leaked data in browser developer tools or network traffic (Github Advisory, djust Security Advisory).

Impact

Successful exploitation results in high confidentiality impact with no effect on integrity or availability. An authenticated attacker can harvest sensitive data transmitted to the browser, including Django user password hashes, privilege flags (is_staff, is_superuser), authentication tokens, and other personally identifiable information. This exposure could enable credential cracking (offline attacks against password hashes), privilege escalation by identifying admin accounts, or broader PII harvesting in violation of data protection regulations (Github Advisory).

Exploitability

No public proof-of-concept exploit code or in-the-wild exploitation has been reported for CVE-2026-61588. The EPSS score is 0.0, indicating a currently low probability of active exploitation, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. However, exploitation is trivially simple for any authenticated user — the sensitive data is passively transmitted to the browser during normal application use, requiring no special tooling beyond browser developer tools or a network proxy (Github Advisory).

Exploitation steps

  1. Authenticate: Log in to a djust-powered Django application with any valid user account (low privileges required).
  2. Identify target views: Navigate to application pages that use djust reactive views, particularly those that display user profile data, account settings, or any view likely to bind a Django Model instance to a public attribute.
  3. Inspect network traffic: Open browser developer tools (Network tab) or use a proxy tool such as Burp Suite to intercept WebSocket or HTTP responses from the djust server-side rendering layer.
  4. Extract sensitive fields: Examine the serialized JSON payloads returned by the server for sensitive fields such as password (hash), is_staff, is_superuser, token, or other PII fields that are part of the model object.
  5. Leverage harvested data: Use extracted password hashes for offline cracking (e.g., with Hashcat or John the Ripper), identify privileged accounts via is_staff/is_superuser flags for targeted attacks, or collect PII for further exploitation (Github Advisory).

Indicators of compromise

  • Network: Unusual or repeated requests to djust WebSocket endpoints or reactive view endpoints by low-privileged users; large serialized JSON payloads in responses containing fields named password, token, secret, is_staff, or is_superuser.
  • Logs: Application logs showing authenticated users accessing views that bind full Model instances to public attributes; anomalous access patterns to user-profile or account-related views from non-administrative accounts.
  • File System: No specific file-system artifacts expected, as exploitation is passive (data is transmitted in normal responses).

Mitigation and workarounds

Upgrade djust to version 1.0.7 or later, which introduces a secure-by-default sensitive-field denylist that withholds password/hash/token/secret-style fields and known privilege flags during model serialization, with an identity-subset fallback (djust Release v1.0.7). As an immediate workaround for deployments that cannot upgrade immediately, store Model instances on _private attributes (prefixed with an underscore) rather than public view attributes, and expose only the specific fields required by the template (Github Advisory). Developers should audit all existing djust views for public attributes that hold full Django Model instances and refactor them to expose only necessary, non-sensitive fields.

Additional resources


SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-61599HIGH8.8
  • Python logoPython
  • djust
NoYesSep 16, 2026
CVE-2026-61596HIGH7.1
  • Python logoPython
  • djust
NoYesSep 16, 2026
CVE-2026-61588MEDIUM6.5
  • Python logoPython
  • djust
NoYesSep 16, 2026
CVE-2026-61589MEDIUM6.3
  • Python logoPython
  • djust
NoYesSep 16, 2026
CVE-2026-61597MEDIUM5.1
  • Python logoPython
  • djust
NoYesSep 16, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management