Security context

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

jordanknott/taskcafe
master @ 998db2a
5
Fixes
3
CVEs
CRITICAL
Peak severity
40.0%
Coverage
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.