Teknik - CVE-2025-54068 - Deep dive into Livewire, from weak typing to pre-authenticated remote command execution (Pass the Salt) - Parce que... c'est l'épisode 0x33B! — PolySécure Podcast

Teknik - CVE-2025-54068 - Deep dive into Livewire, from weak typing to pre-authenticated remote command execution (Pass the Salt) - Parce que... c'est l'épisode 0x33B!

PolySécure Podcast · 02/09/2026 04:00 · 20 min

Contenu de l'épisode

Parce que… c’est l’épisode 0x33B! Shameless plug Description

Cette description a été faite à l’aide de GLM 5.3 Flash, à partir de la transcription qui a été effectuée par ElevenLabs Scribev2. Aucune vérification humaine n’a été faite. Si vous découvrez des erreurs ou des inexactitudes, vous pouvez m’en faire part afin que je procède aux modifications appropriées.

Une intuition née sur le terrain

L’épisode spécial du Polysecure reçoit Rémi Matasse, chercheur chez Synactive, et Pierre Martin, chercheur en sécurité chez Depy, venus présenter à Pass the Salt leur recherche sur Livewire, une dépendance très répandue de l’écosystème Laravel. Tout commence lors d’une mission de Rémi, qui remarque des objets PHP circulant dans les requêtes et note le détail de côté. Le sujet resurgit quand les deux chercheurs partagent une mission commune, et Pierre vient le voir spontanément avec la même intuition. Voir des noms de classes PHP transiter dans des requêtes est rarement bon signe, et ce double déclic a lancé la recherche.

Le rôle de Livewire dans l’écosystème PHP

En PHP classique, avec Laravel ou Symfony, la mise à jour d’un formulaire recharge toute la page, ce qui alourdit le serveur et pénalise les utilisateurs à connexion limitée. Livewire se place au-dessus des applications Laravel pour imiter Next.js avec une approche proche du single page application, où l’HTML est délivré côté client et où des objets sont échangés entre le back-end et le front-end pour maintenir un état partagé. L’ampleur de la dépendance justifiait l’effort, car Livewire figure parmi les plus utilisées du framework, avec environ 20 % des applications Laravel exposées sur Internet et 80 millions de téléchargements.

Pourquoi les objets PHP sonnent l’alarme

Pour les auditeurs moins familiers avec PHP, Pierre détaille la mécanique du langage. Les projets PHP reposent sur des classes qui référencent des objets et des modèles de base de données. Laravel propose des classes contenant des méthodes potentiellement dangereuses, puisque le framework appelle des fonctions PHP sensibles comme include, require ou parfois eval. Pouvoir instancier n’importe quelle classe n’équivaut pas à appeler n’importe quelle méthode, mais le simple constructeur d’une classe peut suffire à remonter jusqu’à une exécution de commande.

De la gadget chain au bypass

En mode boîte blanche, les chercheurs identifient une instanciation arbitraire d’objets et jugent qu’une RCE est inévitable vu le nombre de dépendances présentes par défaut dans Laravel. Ils construisent une gadget chain enchaînant cinq ou six objets jusqu’à une exécution de commande arbitraire, mais

Plus d'informations