← Back to CVEs
CVE-2026-39976
HIGH7.1
Description
Laravel Passport provides OAuth2 server support to Laravel. From 13.0.0 to before 13.7.1, there is an Authentication Bypass for client_credentials tokens. the league/oauth2-server library sets the JWT sub claim to the client identifier (since there's no user). The token guard then passes this value to retrieveById() without validating it's actually a user identifier, potentially resolving an unrelated real user. Any machine-to-machine token can inadvertently authenticate as an actual user. This vulnerability is fixed in 13.7.1.
CVE Details
CVSS v3.1 Score7.1
SeverityHIGH
CVSS VectorCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N
Attack VectorNETWORK
ComplexityHIGH
Privileges RequiredLOW
User InteractionNONE
Published4/9/2026
Last Modified4/9/2026
Sourcenvd
Honeypot Sightings0
Weaknesses (CWE)
CWE-287
References
https://github.com/laravel/passport/issues/1900(security-advisories@github.com)
https://github.com/laravel/passport/pull/1901(security-advisories@github.com)
https://github.com/laravel/passport/pull/1902(security-advisories@github.com)
https://github.com/laravel/passport/security/advisories/GHSA-349c-2h2f-mxf6(security-advisories@github.com)
https://github.com/thephpleague/oauth2-server/issues/1456#issuecomment-2734989996(security-advisories@github.com)
IOC Correlations
No correlations recorded
This product uses data from the NVD API but is not endorsed or certified by the NVD.