O Laravel publicou um advisory de segurança crítico (GHSA-f9x3-7vq9-cph6) que permite a um invasor não autenticado contornar a autenticação do token guard em ambientes MySQL ou MariaDB. A falha recebeu pontuação CVSS 9.2, indicando risco alto, e foi relatada por Hristijan Manasijev.
O problema reside na classe Illuminate\Auth\TokenGuard, responsável pelo driver de token. Quando o valor das credenciais enviado ao guard não é uma string (por exemplo, um array), o código trata o valor como válido e realiza a consulta ao banco, encontrando indevidamente um registro de usuário. Essa falha faz com que a autenticação retorne um usuário existente, permitindo que o atacante acesse qualquer conta protegida por esse guard.
Como consequência, um atacante pode assumir contas de usuários em rotas que utilizam o driver token, sem precisar conhecer o token real. A vulnerabilidade não afeta os drivers de autenticação do Sanctum ou do Passport, que utilizam guardas próprias.
A correção adiciona uma verificação is_string() nos métodos user() e validate(), rejeitando valores que não sejam strings antes de consultar o banco. As versões corrigidas são Laravel 12.68.0 e Laravel 13.29.0, lançadas em 25 de agosto 2026. Um segundo advisory (GHSA-5wcm-3v2w-8362) com CVSS 6.5 afeta recursos JSON:API nas versões 12.45.0‑12.68.0 e 13.27.0, sendo corrigido nas mesmas versões 12.68.0 e 13.27.0.
"I found a CRITICAL auth bypass in Laravel 🚨 (9.2/10) On MySQL/MariaDB, Laravel's token API guard let an unauthenticated attacker log in as an existing victim user. Patched in 12.68.0 & 13.29.0." – Hristijan Manasijev
O que fazer:
- Atualize o pacote
laravel/frameworkpara12.68.0,13.29.0ou superior viacomposer update laravel/framework. - Verifique
config/auth.phpe confirme se algum guard utiliza o drivertoken. - Execute
composer auditpara identificar pacotes vulneráveis. - Consulte a página de segurança oficial do Laravel para detalhes adicionais.
Fonte: Laravel News