When a Django Model instance is assigned to a public view attribute, djust serialized it to the client with no sensitive-field denylist — sending fields such as password (the hash), privilege flags (e.g. is_staff / is_superuser), tokens, and other PII to the browser. Because exposing model objects to templates is a normal djust pattern, this could leak credentials/PII without the developer realizing the full object crossed the wire.
Fixed in djust 1.0.7. Model serialization applies a secure-by-default sensitive-field denylist (password/hash/token/secret-style fields and known privilege flags are withheld) with an identity-subset fallback.
Keep Model instances on _private attributes and expose only the specific fields needed, until patched.
{
"cwe_ids": [
"CWE-200",
"CWE-359"
],
"github_reviewed": true,
"github_reviewed_at": "2026-09-16T22:02:49Z",
"nvd_published_at": null,
"severity": "MODERATE"
}