24/10/2026
Your Laravel API might accept a login that was never a real token. 🚨
CVE-2026-114509: a critical authentication bypass (CVSS 9.2) in Laravel's built-in TokenGuard, the classic token driver behind auth:api. Laravel published the advisory on October 19, and a public proof of concept is already out.
The guard checked only that a token was not empty. A crafted array in a JSON request slips through, the user provider turns it into a WHERE IN lookup, and MySQL or MariaDB compare the token column as numbers. Most stored tokens cast to 0, so the database hands back the first matching user. No valid token needed. Account takeover on any route behind that guard.
You are affected if all three are true: a token driver guard in config/auth.php, users on MySQL or MariaDB, and framework below 12.68.0 (12.x) or 13.29.0 (13.x). On Sanctum or Passport? Different guards, not this bug.
The advisory lists no workaround. The fix is the update.
Do this today:
1. Check config/auth.php for the token driver
2. composer update laravel/framework
3. Verify the running version with composer show
4. Cannot upgrade yet? Reject non-string api_token values, or move the API to Sanctum
Patch today.