You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .jules/sentinel.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,3 +72,7 @@
72
72
**Vulnerability:** DOM-based XSS vulnerability due to unescaped interpolations in custom vanilla JS modal `rauthDialog`. Both user-facing dialog messages and template variables were vulnerable to injection via `innerHTML`.
73
73
**Learning:** Developers building custom UI components (like dialog overlays) in vanilla JS sometimes use template literals + `innerHTML` directly without properly escaping inputs first, treating them like React props which inherently escape.
74
74
**Prevention:** Establish a global or reusable `escapeHtml` utility and mandate its usage for all dynamic values being interpolated into HTML template literals prior to assignment to `innerHTML`.
**Vulnerability:** A fast-path rate limit implementation attempting to avoid parsing `c.FormValue()` (which reads the request body and can cause exhaustion DoS with large payloads) was still indirectly parsing the form by using a global `getRD()` helper that called `c.FormValue()`.
77
+
**Learning:** When attempting to implement early fast-paths to bypass body parsing on limited connections, all helper functions utilized in the error response must be audited. Functions that conditionally fall back to form parsing (`getRD` via `c.FormValue`) will silently defeat the fast-path check, rendering the protection ineffective against resource exhaustion.
78
+
**Prevention:** In fast-path error handlers that aim to avoid parsing large bodies (like early rate limits), strictly use `c.QueryParam()` instead of shared helper functions that may fall back to parsing `c.FormValue()`.
0 commit comments