Security context

What an agent needs to avoid regressing past fixes and find the next vuln in this repo.

jupyter/notebook
main @ 062a2e4
52
Fixes
0
CVEs
CRITICAL
Peak severity
84.4%
Coverage
Highlights
Auth Bypass: 7 prior fixes. Scrutinize any change in this area.
notebook/auth/login.py: most-fixed (10 issues). Treat as high-risk during review.
39 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns

The bug types that recur here, drawn from past fixes, not open vulnerabilities.

Stored XSS: Multiple fixes address XSS in notebook output rendering, with sanitizer changes (Caja to hardened) and output type extensions (MathML). The risk remains high due to the complexity of sanitizing untrusted HTML/SVG/MathML and the historical pattern of bypasses.
Auth Bypass: Multiple fixes target token authentication, including removing one-time tokens, enabling tokens by default, and adding origin checks. The critical risk is anonymous access when no password is set, which was addressed but the token handling remains complex.
Open Redirect: Six fixes address open redirects in login and base handlers, with evolving validation (backslash escaping, netloc checks, path prefix). The recurring nature suggests the redirect validation logic is fragile and needs a centralized, robust check.