[LOW] Frontend-Härtung: DOMPurify vor {@html}, Timer-Leaks, svelte-check-Typfehler #119
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
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?
Schweregrad: LOW-MEDIUM (Frontend, Sammel)
{@html}(Defense-in-depth, 4 Stellen:notizen:188,settings:685,KpiRow:16,profil:234). Aktuell escape-first ohne Sanitizer;setupQrinjiziert Backend-SVG roh, Notes potenziell mandantenuebergreifend (Bezug #108). Kein aktiver Vektor, aber haerten.onDestroy/$effect-Cleanup pruefen.InlineHostGraphs.svelte:110/111,NodeUpdatesPanel.svelte:874.(Die grossen Monolithe +page.svelte / NodeUpdatesPanel sind bereits via #94/#95 erfasst.)
Quelle
Code-Review 20.06.2026.
Teil 1 (DOMPurify) umgesetzt in
ad1e4e6: isomorphic-dompurify + $lib/sanitize (sanitizeHtml/sanitizeSvg) vor allen 4 {@html}-Sinks (notizen/settings renderMd, profil QR, KpiRow Icon). Offen: setInterval/clearInterval-Audit (Timer-Leaks) + svelte-check-Typfehler (InlineHostGraphs:110/111, NodeUpdatesPanel:874). Lasse offen.Teil-Check @
812b59f:lib/sanitize.ts+ dompurify-Dependency sind eingeführt ✅. Offen/zu verifizieren: tatsächlicher Einsatz an allen 4{@html}-Stellen (notizen/settings/KpiRow/profil), Timer-Leaks (setInterval/clearInterval-Ungleichgewicht) und die svelte-check-Typfehler. Bleibt offen bis vollständig.Erledigt unter #186 Paket D (commit `
38e0530`).