Highlights
Information Disclosure: 2 prior fixes. Scrutinize any change in this area.
internal/route/auth.go: most-fixed (2 issues). 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: The application previously ignored JWT validation errors during parsing, allowing attackers to forge arbitrary tokens with invalid signatures to bypass authentication completely. Developers must ensure that 'jwt.ParseWithClaims' is never configured to ignore signature errors.
Use of Hard-coded Cryptographic Key: A static, hard-coded key ('jwtKey') was utilized for signing JWT tokens. If not overridden in the configuration, this allowed attackers to easily sign valid tokens; fallback generators must dynamically generate cryptographically secure keys (e.g., random UUIDs) when a config is missing.
Broken Object Level Authorization: GraphQL administrative mutations were exposed to unauthorized users due to a lack of server-side role validation. This required enforcing the '@hasRole' directive on sensitive schema definitions to prevent privilege escalation.