Summary
In public/admin.html line 428, the live preview <iframe> loads /me without a sandbox attribute. If /me is compromised (e.g., via stored XSS), an attacker gets full access to the admin panel's DOM, cookies, and localStorage.
Details
- File:
public/admin.html line 428
<iframe id="livePreviewIframe" ... src="/me" title="Live Profile Preview"></iframe>
- No
sandbox attribute restricts what the iframe can do
- If the profile page has any XSS vulnerability, the attacker's script executes in the admin context
Impact
Privilege escalation via iframe — a stored XSS in a user profile becomes a full admin panel compromise.
Suggested Fix
Add sandbox="allow-scripts" to restrict iframe capabilities while still allowing preview rendering.
Summary
In
public/admin.htmlline 428, the live preview<iframe>loads/mewithout asandboxattribute. If/meis compromised (e.g., via stored XSS), an attacker gets full access to the admin panel's DOM, cookies, and localStorage.Details
public/admin.htmlline 428<iframe id="livePreviewIframe" ... src="/me" title="Live Profile Preview"></iframe>sandboxattribute restricts what the iframe can doImpact
Privilege escalation via iframe — a stored XSS in a user profile becomes a full admin panel compromise.
Suggested Fix
Add
sandbox="allow-scripts"to restrict iframe capabilities while still allowing preview rendering.