From 42fe855ffaa31091e39e833b4ded8711d04cb249 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 1 Oct 2026 10:26:05 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A1=EF=B8=8F=20Sentinel:=20[HIGH]=20Fi?= =?UTF-8?q?x=20XSS=20Risk=20in=20Email=20Preview?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaced dangerouslySetInnerHTML with a sandboxed iframe using srcDoc to provide defense-in-depth against XSS vulnerabilities when rendering email previews. Added inline styles to preserve typography and restricted sandbox permissions to allow popups (links) but block scripts. Co-authored-by: brycejohnson1417 <257422776+brycejohnson1417@users.noreply.github.com> --- .jules/sentinel.md | 4 ++++ components/accounts/ppp-savings-panel.tsx | 28 +++++++++++++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 .jules/sentinel.md diff --git a/.jules/sentinel.md b/.jules/sentinel.md new file mode 100644 index 0000000..df778cc --- /dev/null +++ b/.jules/sentinel.md @@ -0,0 +1,4 @@ +## 2024-10-01 - [Sandboxing Email Previews] +**Vulnerability:** XSS risk from rendering untrusted HTML via `dangerouslySetInnerHTML`, even with DOMPurify. +**Learning:** Using a sandboxed `