[CRITICAL] Fix XSS vulnerability in Mermaid rendering #190
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
MermaidViewer component uses securityLevel: "loose" and directly injects SVG via innerHTML, creating a direct XSS vector if diagrams are user-controlled.
Location
apps/web/components/MermaidViewer.tsx
Attack Vector
If users can provide or modify Mermaid diagrams:
Impact
Questions
Acceptance Criteria
Implementation
Testing
References
External security review findings (2026-02-02)