From 261d9ffe4b0a07f8c4c66ad12367b718efdec387 Mon Sep 17 00:00:00 2001 From: Sebastien Tardif Date: Mon, 14 Sep 2026 12:43:44 -0700 Subject: [PATCH 1/4] fix(trace-viewer): reject unsafe snapshot tag names Crafted traces could put markup in the element name so the renderer emitted attributes such as onerror. Drop names that are not a single HTML token. Signed-off-by: Sebastien Tardif --- packages/isomorphic/trace/snapshotRenderer.ts | 2 ++ tests/library/snapshot-renderer.spec.ts | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/packages/isomorphic/trace/snapshotRenderer.ts b/packages/isomorphic/trace/snapshotRenderer.ts index 2a38aca7b651e..15c742bdb8b21 100644 --- a/packages/isomorphic/trace/snapshotRenderer.ts +++ b/packages/isomorphic/trace/snapshotRenderer.ts @@ -108,6 +108,8 @@ export class SnapshotRenderer { // crafted trace file could include them to achieve XSS. if (name.toUpperCase() === 'SCRIPT') return; + if (!/^[A-Za-z][A-Za-z0-9:-]*$/.test(name)) + return; // Element node. // Note that