Laravel a publié ces avis de sécurité le 20 octobre 2026. La faille critique se trouve dans Illuminate\Auth\TokenGuard, utilisé lorsqu’un guard de config/auth.php repose sur le driver token et le provider users. Sur MySQL et MariaDB, un attaquant non authentifié pouvait envoyer une valeur spécialement construite qui n’était pas une chaîne de caractères. La recherche d’authentification pouvait alors sélectionner un autre utilisateur au lieu d’échouer. Les routes protégées par ce guard pouvaient ainsi être utilisées pour prendre le contrôle d’un compte.

terminal
composer update laravel/framework

La faille porte l’identifiant GHSA-f9x3-7vq9-cph6 et obtient un score CVSS de 9,2. Hristijan Manasijev l’a signalée. Avant le correctif, le guard vérifiait seulement que le token reçu n’était pas vide. Le patch ajoute le contrôle is_string($token) dans user() et validate(). Les tableaux et autres valeurs qui ne sont pas des chaînes sont désormais rejetés avant la requête vers la base de données. L’avis concerne uniquement le driver token. Sanctum et Passport utilisent leurs propres drivers de guard et ne sont pas indiqués comme affectés.

Manasijev a signalé un second problème publié le même jour. Dans certaines conditions, une requête préparée vers un endpoint JSON:API en lecture seule pouvait déclencher une opération destructive sur une table liée. Un utilisateur disposant seulement d’un accès en lecture pouvait vider cette table. L’avis GHSA-5wcm-3v2w-8362 lui attribue un score CVSS v3.1 de 6,5, avec une gravité moyenne. Le problème touche les ressources JSON:API ajoutées dans Laravel 12.45.0. Le correctif modifie le chargement des relations demandées par la requête.

Le contournement du TokenGuard affecte les versions antérieures à 12.68.0 et à 13.29.0. Le problème JSON:API concerne 12.45.0 jusqu’aux versions antérieures à 12.68.0, ainsi que les versions antérieures à 13.27.0. Les correctifs sont Laravel 12.68.0 et 13.29.0 pour le premier problème, puis Laravel 12.68.0 et 13.27.0 pour le second. Laravel a publié 12.68.0 et 13.29.0 le 25 août 2026. Les applications mises à jour depuis cette date disposent des deux corrections. Les correctifs sont disponibles uniquement pour les branches 12.x et 13.x.

Les équipes doivent mettre à jour laravel/framework avec composer update laravel/framework. Elles doivent vérifier dans config/auth.php les guards utilisant le driver token, en donnant la priorité aux applications qui fonctionnent avec MySQL ou MariaDB. La commande composer audit permet de comparer les paquets installés aux avis publiés. Les deux avis figurent sur la page de sécurité de Laravel consacrée à laravel/framework.