Laravel TokenGuard authentication bypass through non-string API credentials
Laravel's built-in TokenGuard, when configured with a standard token-based API guard, may be bypassed to authenticate as an arbitrary existing user without knowledge of their valid API token. Under certain database configurations (MySQL/MariaDB) an attacker can submit a specially crafted, non-string credential value t…
As published by the sources
Affected packages
- Affected
>=13.0.0,<13.27.0 || >=12.0.0,<12.68.0 || >=11.0.0,<11.56.1 || <10.50.4Fixed in10.50.411.56.112.68.013.27.0
Derived from the fixed versions above
What to do
Upgrade laravel/framework to the fixed version in your release line: 10.50.4, 11.56.1, 12.68.0, 13.27.0.
composer update laravel/framework --with-dependencies
To see which version you have installed, run composer show vendor/package. Running composer audit lists the known advisories that match your installed versions.
Quoted from the original advisory
Details
Laravel's built-in TokenGuard, when configured with a standard token-based API guard, may be bypassed to authenticate as an arbitrary existing user without knowledge of their valid API token.
Under certain database configurations (MySQL/MariaDB) an attacker can submit a specially crafted, non-string credential value that is mishandled during the authentication lookup, causing the underlying query to match an unintended user record rather than failing authentication as expected.
Impact
An unauthenticated attacker may authenticate as another user without possessing that user's API token, leading to authentication bypass and account takeover on any route protected by the affected guard.
References
- Advisoryhttps://github.com/advisories/GHSA-f9x3-7vq9-cph6
- Webhttps://github.com/laravel/framework/security/advisories/GHSA-f9x3-7vq9-cph6
- Webhttps://nvd.nist.gov/vuln/detail/CVE-2026-114509
- Webhttps://github.com/laravel/framework/commit/8dbb08bccac1be095dba4a9d259a419620f1e8a5
- Webhttps://github.com/laravel/framework/commit/9b21ce0a9bb2b2599978bc0b0df4abea952ad31c
- Webhttps://github.com/laravel/framework/releases/tag/v12.68.0
- Webhttps://github.com/laravel/framework/commit/47781ee0cc09940c2d706623160e14d7c6eb6b36
- Webhttps://github.com/laravel/framework/commit/5056ca53797eed9244749695c3bb3f015a38415c
- Webhttps://github.com/laravel/framework/releases/tag/v10.50.4
- Webhttps://github.com/laravel/framework/releases/tag/v11.56.1
- Webhttps://github.com/laravel/framework/releases/tag/v13.27.0
- Packagehttps://github.com/laravel/framework