SiteShadow
Back to vulnerability library

CWE-83 Cross-Site Scripting in Attributes

What this means

SiteShadow flagged untrusted input flowing into HTML attributes or event handler contexts (e.g., href=, src=, on*=). Attribute contexts have different escaping rules than plain text.

Why it matters

Attribute injection can execute scripts or bypass sanitization.

Safer examples

1) Don't construct attributes from untrusted strings

Prefer framework bindings that correctly encode attributes.

2) Allowlist URL schemes and hosts

const u = new URL(inputUrl, "https://example.com");
if (!["https:"].includes(u.protocol)) throw new Error("Invalid scheme");

3) Avoid inline event handlers entirely

Never build onclick="..." from user input. Use addEventListener with safe data handling.

How SiteShadow detects it (high level)

References

---

← Back to Vulnerability Library

Request access View coverage