VDB
Sign up
MEDIUM6.5

GHSA-pvg3-6q9j-mj3x

djust's Django model serialization has no sensitive-field denylist: password hashes, privilege flags, and PII on a public view attribute are sent to the client

Quick fix

GHSA-pvg3-6q9j-mj3x — djust: upgrade to the fixed version with the command below.

pip install --upgrade 'djust>=1.0.7'

Details

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

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

### Workarounds Keep `Model` instances on `_private` attributes and expose only the specific fields needed, until patched.

Are you affected?

Enter the version of the package you're using.

Affected packages

PyPI/djust
Introduced in: 0Fixed in: 1.0.7
Fixpip install --upgrade 'djust>=1.0.7'

References