Highlights
Auth Bypass: 4 prior fixes. Scrutinize any change in this area.
lib/auth.js: most-fixed (5 issues). Treat as high-risk during review.
6 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.
Auth Bypass: Multiple authorization bypass vulnerabilities occurred in the project admin middleware due to calling `next()` after validation failures, checking the wrong object properties (e.g., `res.accessLevel` instead of `req.accessLevel`), and failing to handle undefined access levels correctly.
Auth Bypass: Standard user lookups during authentication and password-reset routines were case-sensitive, enabling bypass vectors and account takeovers when email casing did not match exactly during registration versus lookup.
CSRF: Administrative routes lacked CSRF token validation, allowing unauthorized external requests to trigger high-privilege operations such as creating or removing administrative users.