Skip to content
archivevulnerability · 17 Sep 2026 · 20:31 UTC

GHSA-xjw9-38cr-6372: djust: A template binding inherits a context safety grant it never earned (XSS)

HIGHHigh-risk vulnerability

last 60 dispatches · spectrum

A context safety grant was inherited by a template **binding** that never earned it, so rebinding a name the view had marked safe left the mark attached to the new, attacker-controlled value. djust's context safety channel is keyed by **name**, not by value. Every bind copied the value and left the grant in place: ``` view marks p = mark_safe(' trusted ') template {% with p=user_input %}{{ p }}{% endwith %} djust ' ' <- executes django '<img src=x onerror=alert(1)>' ``` ## Affected binds Eight distinct shapes were live. …

grounded ✓primary source ↗
Early access

Get the next one first.

Early access opens the actor API and MCP server first, plus alerts when an adversary you follow lands on the wire. One email when it's ready. Nothing else, ever.

bot-protected