Ce qui se passe
Laravel a publié un avis critique, GHSA-f9x3-7vq9-cph6, noté 9,2 en CVSS. Il
touche Illuminate\Auth\TokenGuard, la classe derrière le driver token. Sur MySQL
et MariaDB, un attaquant sans compte pouvait s'authentifier comme un utilisateur
existant sans connaître son jeton d'API, et donc prendre la main sur n'importe quel
compte derrière une route protégée par ce guard. Hristijan Manasijev a signalé la
faille.
Votre application est concernée si un guard de config/auth.php ressemble à ceci :
config/auth.phpPHP'guards' => [
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],Le mécanisme
Avant le correctif, le guard s'assurait seulement que le jeton de la requête n'était pas vide, puis le transmettait au fournisseur d'utilisateurs. D'après l'avis, une valeur qui n'est pas une chaîne, par exemple un tableau, est mal traitée lors de la recherche : la requête sous-jacente retrouve un utilisateur au lieu d'échouer.
Le correctif ajoute un contrôle de type dans user() et dans validate() :
if (is_string($token) && ! empty($token)) {Tout ce qui n'est pas une chaîne est écarté avant d'interroger la base.
Ce que ça change
- Seul le driver
tokenest visé. Sanctum et Passport enregistrent leurs propres drivers et ne figurent pas dans l'avis. - Le correctif n'est pas récent : 12.68.0 et 13.29.0 sont sorties le 25 août 2026. Une application mise à jour depuis est déjà protégée ; il n'existe de correctif que pour les branches 12.x et 13.x.
- Un second avis, GHSA-5wcm-3v2w-8362 (6,5, moyen), concerne les ressources JSON:API ajoutées en 12.45 : une requête en lecture seule pouvait déclencher une opération destructrice sur une table liée. Versions touchées : de 12.45.0 à avant 12.68.0, et avant 13.27.0 ; corrigé en 12.68.0 et 13.27.0.
Comment s'y prendre
composer update laravel/framework
composer audit
grep -n "'driver' => 'token'" config/auth.phpTraiter en priorité les applications qui ont un guard token et tournent sur MySQL
ou MariaDB.
Source : Laravel News, 20 octobre 2026. Source en anglais. Avis : GHSA-f9x3-7vq9-cph6.