EN
en direct

XSS2Shell transforme un login WordPress échoué en exécution de code à distance sur 500 millions de sites

Une chaîne de vulnérabilités dans WordPress Core, baptisée XSS2Shell, permet à un attaquant non authentifié de transformer une simple tentative de connexion échouée en exécution de code PHP sur le serveur. Le correctif 7.0.3 est sorti le 6 août 2026 — 43 % du web doit l’appliquer maintenant.

Vulnérabilité XSS2Shell dans WordPress — illustration ETTAYEB

Le 6 août 2026, l’équipe de sécurité de WordPress a publié en urgence la version 7.0.3, qui corrige CVE-2026-64638, une vulnérabilité baptisée XSS2Shell. Le bug touche une ligne de code présente dans WordPress Core depuis la version 4.7 — soit toutes les installations activement maintenues du CMS qui alimente 43 % du web, c’est-à-dire plus de 500 millions de sites. La chaîne transforme un échec de connexion sur la page wp-login.php en exécution de code PHP distante, sans authentification préalable.

Découverte par les chercheurs de pwn.ai, la faille exploite un désaccord vieux de plusieurs années entre deux parsers HTML qui coexistent dans WordPress.

Une divergence de parseurs au cœur de la faille

Quand un utilisateur soumet un nom d’utilisateur inexistant sur wp-login.php, WordPress construit un message d’erreur via la fonction wp_strip_all_tags. C’est là que le piège se referme.

En insérant un espace entre le chevron ouvrant et le nom de la balise — par exemple < area> au lieu de <area> — l’attaquant trompe le parseur strip_tags natif de PHP, qui voit une chaîne inoffensive. Mais le KSES (Kses Strips Evil Scripts), le sanitizer historique de WordPress, réinterprète cette même chaîne comme du HTML légitime contenant des éléments interactifs tels que <area>, <div> ou <button>.

Le résultat : des éléments HTML contrôlés par l’attaquant sont injectés directement dans la page de connexion, sans compte, sans cookie, sans authentification.

De l’injection HTML au RCE en trois étapes

Les éléments injectés ne contiennent pas de JavaScript. Mais ils sont conçus pour correspondre aux sélecteurs que le fichier user-profile.js de WordPress recherche automatiquement au chargement de la page — un vestige de la fonctionnalité de réinitialisation de mot de passe.

Cette correspondance déclenche un clic automatique qui cascade en requête AJAX. Via une technique de DOM clobbering, l’élément injecté détourne l’URL de destination vers l’API REST de WordPress, avec des paramètres de method-override et JSONP. La réponse est renvoyée enrobée dans du JavaScript exécutable — l’attaquant obtient une exécution de script arbitraire dans l’origine WordPress, en pur pre-auth XSS.

L’escalade vers l’exécution de code PHP distante complète nécessite une interaction supplémentaire, ce qui explique le CVSS de 8,9 plutôt qu’un score maximal. Si un administrateur connecté est attiré sur une page tierce malveillante et interagit avec elle, le script de l’attaquant peut :

  1. Créer un mot de passe d’application WordPress en utilisant la session légitime de l’administrateur
  2. Publier une page contenant du JavaScript arbitraire via le privilège unfiltered_html
  3. Uploader un plugin au format ZIP contenant un webshell PHP

Tout cela via des appels REST API authentifiés que l’administrateur n’a jamais explicitement approuvés.

L’héritage d’une technique de 2022

La méthode sous-jacente s’appuie sur une recherche publiée en 2022 par Paulos Yibelo sur le Same Origin Method Execution (SOME), une technique initialement utilisée pour contourner les protections Content Security Policy sur les sites WordPress. Elle avait été nominée pour la Top Web Hacking Technique de l’année. Quatre ans plus tard, elle trouve une application bien plus dévastatrice.

WordPress a rétroporté le correctif jusqu’à la version 4.7, couvrant l’intégralité des branches encore sous support de sécurité. Aucune exploitation active dans la nature ni preuve de concept publique n’a été signalée au moment de la publication, selon les trackers de vulnérabilités.

Verdict

ProfilAction
Site auto-hébergéMise à jour manuelle vers WordPress 7.0.3 immédiate
Hébergement mutualiséVérifier que l’hébergeur a appliqué le correctif (la plupart le font automatiquement)
Site avec plugins de cachingPurger tous les caches après mise à jour
MultisiteAppliquer la mise à jour réseau — toutes les sous-instances sont affectées

XSS2Shell est un rappel brutal que la surface d’attaque d’un CMS ne se limite pas aux plugins tiers. Une fonction de sanitization écrite il y a dix ans, un vestige JavaScript oublié, et un désaccord de parseur suffisent à exposer la moitié du web. Si vous gérez un WordPress, la question n’est pas de savoir si vous allez patcher, mais si vous l’avez déjà fait.

Références

Le brief cyber, chaque mardi

Les failles qui comptent, les correctifs à appliquer, en dix minutes de lecture.

Pas de spam. Désinscription en un clic.
à lire ensuite

Sur le même sujet

TONTOU contourne les mitigations Spectre v2 et dérobe les hashs Linux en 18 minutes

Le 6 août 2026, des chercheurs du MIT CSAIL ont présenté à Black Hat USA une nouvelle attaque CPU qui contourne les correctifs Spectre v2 sur Intel et AMD. TONTOU exploite la fenêtre entre la neutralisation du prédicteur de branche et son utilisation pour extraire `/etc/shadow` à 5,47 octets par seconde. Les distributions Linux doivent intégrer les nouveaux correctifs noyau sans délai.

← Retour au fil

Tapez au moins deux caractères.

naviguer ouvrir esc fermer