Laravel Passport обеспечивает поддержку сервера OAuth2 для Laravel. С версии 13.0.0 до версии 13.7.1 существует обход аутентификации для токенов client_credentials. библиотека League/oauth2-server устанавливает вложенное утверждение JWT в идентификатор клиента (поскольку пользователь отсутствует). Затем защита токенов передает это значение в метод restartById(), не проверяя, действительно ли это идентификатор пользователя, что потенциально разрешает несвязанного реального пользователя.
Любой межмашинный токен может непреднамеренно аутентифицироваться как реальный пользователь. Эта уязвимость исправлена в версии 13.7.1.
Показать оригинальное описание (EN)
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 v3.1