diff --git a/.jules/sentinel.md b/.jules/sentinel.md new file mode 100644 index 0000000..19a3e73 --- /dev/null +++ b/.jules/sentinel.md @@ -0,0 +1,4 @@ +## 2024-05-18 - Replacing dangerouslySetInnerHTML with Sandboxed Iframes +**Vulnerability:** XSS vulnerability in dynamically generated email preview rendered using dangerouslySetInnerHTML, even with DOMPurify. +**Learning:** When displaying dynamic or user-generated HTML in React, dangerouslySetInnerHTML should be avoided entirely in favor of an isolated browsing context. Applying external CSS classes (like Tailwind) to an iframe does not style the inner document; styles must be injected inline via a ${sanitizedEmailHtml}`} + className="h-full min-h-[24rem] w-full flex-1 border-0" + />