Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify TokenGuard-protected API route
-
DeliverySubmit array-typed api_token credential
-
ExploitTrigger MySQL/MariaDB type-juggling user match
-
ExecutionBypass authentication as unintended user
-
ImpactTake over victim account
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK
2 techniques across 2 tactics: Defense Evasion, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitable only when the application uses Laravel's TokenGuard as a standard token-based API guard to protect one or more routes AND runs on a MySQL or MariaDB backend whose loose/implicit type comparison allows a non-string (array) credential to match an existing user row. Limiting factors: the vulnerable TokenGuard must be the active auth guard (apps using Sanctum/Passport or non-affected comparison behavior are not affected), the backing database must exhibit the MySQL/MariaDB coercion behavior (the vendor's AT:P reflects this non-default/environment-specific requirement), and the installed framework version must be below 12.68.0 or 13.29.0. No valid token, credentials, or user interaction are required once these conditions hold. |
| Impact | This is a genuine high-priority issue, not an inflated CVSS score. CWE-287 authentication bypass with the vendor's CVSS 4.0 vector AV:N/AC:L/AT:P/PR:N/UI:N and full C:H/I:H/A:H (score 9.2) indicates a network-reachable, unauthenticated flaw yielding complete account takeover. The AT:P (attack requirements present) flag is the critical nuance and is corroborated by the description: exploitation depends on a non-attacker-controlled deployment state - TokenGuard used as the standard token-based API guard AND a MySQL/MariaDB backend whose loose type comparison lets a non-string (array) credential coerce-match an existing user. No EPSS score, no CISA KEV entry, and no public exploit were provided, so there is no evidence of active exploitation; however, the public fix commits disclose the exact root cause (missing is_string() checks), which lowers the barrier to building a working exploit. Net: real risk for any Laravel app meeting the TokenGuard+MySQL/MariaDB preconditions, tempered by those preconditions rather than being universally exploitable. The one signal to verify is the breadth of real-world TokenGuard usage, since many Laravel API apps use Sanctum/Passport instead of the legacy TokenGuard. |
| Exploit ScenarioDerived | An attacker targets a Laravel application exposing API routes protected by TokenGuard on a MySQL/MariaDB backend. They send an unauthenticated request supplying the token credential as an array (e.g. api_token[]=0) instead of a string; the database's loose comparison matches an existing user row, and the attacker is authenticated as that account with no valid token. No public exploit was provided, but the fix commits publicly reveal the exact mechanism, making a PoC straightforward to construct. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
Laravel TokenGuard authentication bypass is a genuine high-priority issue, not an inflated CVSS score: unauthenticated attackers can send a crafted non-string credential, such as an array-valued api_token, to routes protected by TokenGuard and, under affected MySQL or MariaDB configurations, be matched to an unintended existing user, enabling account takeover. The flaw affects Laravel Framework before 12.68.0 and 13.x before 13.29.0 and requires the vulnerable guard plus database type-coercion behavior; no public exploit was identified at time of analysis, and vendor-released fixes are available in 12.68.0 and 13.29.0.
RemediationAI
Vendor-released patch: Laravel Framework 12.68.0 and 13.29.0. Upgrade to the appropriate fixed release, or apply the upstream commits 8dbb08bccac1be095dba4a9d259a419620f1e8a5 and 9b21ce0a9bb2b2599978bc0b0df4abea952ad31c if maintaining a fork; see the GitHub advisory at https://github.com/laravel/framework/security/advisories/GHSA-f9x3-7vq9-cph6 and release pages at https://github.com/laravel/framework/releases/tag/v12.68.0 and https://github.com/laravel/framework/releases/tag/v13.29.0. If immediate upgrade is not possible, add request validation or middleware that rejects non-string token parameters before TokenGuard executes, covering every TokenGuard-protected route; the trade-off is application code changes and the need to verify all entry points, and database strict-mode changes should not be treated as a sole fix. Switching the affected routes to Sanctum or Passport removes exposure to this TokenGuard flaw but requires a larger authentication migration; disabling or restricting TokenGuard-protected routes until patched is a last-resort compensating control with service-impact trade-offs.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The issue is in Illuminate\Auth\TokenGuard, Laravel's standard token-based API guard. Before the fix, user() and getTokenForRequest() only checked whether the token was non-empty, not whether it was a string; a request such as api_token[]=0 therefore passed a non-string value into the credential lookup. On MySQL or MariaDB backends whose loose or implicit type comparison coerces that value, retrieveByCredentials can match an unintended existing user row, which is an improper-authentication weakness (CWE-287). The upstream commit 8dbb08bccac1be095dba4a9d259a419620f1e8a5 adds is_string checks in both locations and tests that a non-string token is rejected and the user provider is not called. The supplied CVSS 4.0 vector rates 9.2 with AT:P, while the independent CVSS 3.1 assessment is AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H; both reflect that exploitation depends on the TokenGuard and MySQL/MariaDB coercion configuration rather than being universally exploitable.
Know when Laravel gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-reachable and unauthenticated (AV:N/PR:N/UI:N), but success depends on TokenGuard plus MySQL/MariaDB coercion beyond attacker control (AC:H); account takeover yields full C/I/A impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Laravel is a web application framework. Prior to 12.68.0 and 13.29.0, TokenGuard configured as a standard token-based API guard does not reject a crafted non-string credential. Under affected MySQL or MariaDB configurations, the authentication lookup can match an unintended existing user, allowing an unauthenticated attacker to bypass authentication and take over an account on routes protected by TokenGuard. This issue is fixed in versions 12.68.0 and 13.29.0.
Articles & Coverage 1
Technical POC Analysis
The bug class is CWE-287 Improper Authentication.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Laravel Framework TokenGuard contains a critical authentication bypass (CVE-2026-114509) that can enable account takeover in applications using TokenGuard with MySQL or MariaDB. Organizations running affected versions-before 12.68.0 and 13.x before 13.29.0-face potential unauthorized access to sensitive data and systems, making immediate remediation a leadership priority. No public exploit was identified at time of analysis, but the severity and account-takeover potential warrant urgent action.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
In Laravel framework through 5.5.21, remote attackers can obtain sensitive information (such as externally usable passwo
Laravel Livewire v3 through v3.6.3 contains a critical remote code execution vulnerability (CVE-2025-54068, CVSS 9.8) th
LaRecipe versions prior to 2.8.1 contain a Server-Side Template Injection (SSTI) vulnerability that can lead to Remote C
File upload bypass in FreeScout 1.8.206 — patch bypass for CVE-2026-27636. PoC and patch available. CVSS 10.0.
Remote code execution in FreeScout prior to version 1.8.206 allows authenticated users to upload `.htaccess` files that
In Laravel Framework through 5.5.40 and 5.6.x through 5.6.29, remote code execution might occur as a result of an unseri
Dokans SaaS e-commerce platform v3.9.2 has a CVSS 10.0 authentication bypass allowing unauthenticated attackers to obtai
Predictable password reset tokens in FreeScout help desk before 1.8.206. Weak random number generation allows attackers
Bagisto eCommerce platform before 2.3.10 is vulnerable to server-side template injection (SSTI) through customer address
Bagisto eCommerce platform (2.3 branch before 2.3.10) leaves installation API routes active after setup, allowing unauth
A vulnerability was found in laravel 5.1 and classified as problematic. Rated critical severity (CVSS 9.8), this vulnera
Databasement instances before 1.8.2 allow an authenticated user to achieve remote code execution by injecting path-redir
EUVD-2026-107583
GHSA-f9x3-7vq9-cph6
NVD
CVE.org
EPSS
Exploit-DB