CVE-2026-39976
CVE-2026-39976 · Laravel Passport's TokenGuard Authenticates Unrelated User for Client Credentials Tokens
Esta página presenta datos de fuentes públicas de vulnerabilidades. Consulta el aviso original antes de actualizar.
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.
CVSS 7.1 · Alta · EPSS 0,3% · Corrección disponible
- Publicación
- Actualización
Pila tecnológica: php
Productos y versiones afectados
passport
- Versiones
- >= 13.0.0, < 13.7.1: Afectada
Sin corrección publicada
laravel/passport Packagist
- Versiones
- v13.0.0
- v13.0.1
- v13.0.2
- v13.0.3
- v13.0.4
- v13.0.5
- v13.0.6
- v13.1.0
- v13.2.0
- v13.2.1
- v13.2.2
- v13.3.0
- v13.4.0
- v13.4.1
- v13.4.2
- v13.4.3
- v13.4.4
- v13.5.0
- v13.6.0
- v13.7.0
- Intervalos de versiones afectados
- ECOSYSTEM: ≥ 13.0.0, < 13.7.1
Actualiza a 13.7.1
Fuentes originales
- https://github.com/laravel/passport/security/advisories/GHSA-349c-2h2f-mxf6
- https://github.com/laravel/passport/issues/1900
- https://github.com/thephpleague/oauth2-server/issues/1456#issuecomment-2734989996
- https://github.com/laravel/passport/pull/1901
- https://github.com/laravel/passport/pull/1902
- https://nvd.nist.gov/vuln/detail/CVE-2026-39976