Highlights
Auth Bypass: 4 prior fixes. Scrutinize any change in this area.
src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java: most-fixed (1 issue). Treat as high-risk during review.
3 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: Incomplete state validation checks allowed empty or null state values to bypass verification if they bypassed the cache containment check. Ensuring that StringUtils.isEmpty is checked prevents bypasses using null or empty values.
Auth Bypass: OAuth callbacks processed and exchanged authorization codes for access tokens without validating the callback's state parameter against the generated state cache, exposing users to CSRF and account takeovers.
Auth Bypass: The core OAuth login workflow lacked centralized validation of code and state parameters before executing the authentication handshake, requiring structural changes like introducing AuthCallback and enforcing validations during the login phase.