Image de couverture : "wp2shell : quand le Core WordPress devient une porte d'entrée pour les attaquants
Sécurité

"wp2shell : quand le Core WordPress devient une porte d'entrée pour les attaquants

19 juillet 2026
6 min de lecture
17 vues
Sébastien Muler

Une faille sans plugin, sans thème, sans excuse — juste du code de base compromis

Le pire cauchemar d'un développeur PHP n'est pas un plugin tiers mal maintenu ni un thème téléchargé sur un site douteux. C'est de découvrir que la vulnérabilité réside dans le cœur même du CMS, exposant des millions de sites sans qu'aucune configuration particulière ne soit nécessaire. C'est exactement ce que révèle wp2shell, une faille critique divulguée en juillet 2026 par Adam Kues, chercheur en sécurité chez Searchlight Cyber.


Ce que l'on sait sur wp2shell

wp2shell est une vulnérabilité de type Pre-Authentication Remote Code Execution (RCE). Traduit concrètement : un attaquant anonyme, sans compte, sans plugin installé, peut exécuter du code arbitraire sur une installation WordPress par défaut.

Il s'agit en réalité d'une chaîne de deux failles référencées séparément : une injection SQL dans le paramètre author__not_in de WP_Query (CVE-2026-60137), combinée à une confusion de route dans l'API REST batch /wp-json/batch/v1 (CVE-2026-63030).

Les versions affectées sont les suivantes :

Version WordPress Statut Correctif
< 6.9.0 Non affecté
6.9.0 – 6.9.4 ⚠️ Affecté Mettre à jour vers 6.9.5
7.0.0 – 7.0.1 ⚠️ Affecté Mettre à jour vers 7.0.2

Searchlight Cyber a volontairement retenu les détails techniques de l'exploitation pour laisser le temps aux administrateurs de patcher. Un outil de détection en ligne a néanmoins été mis à disposition pour vérifier si un site est vulnérable.

Ce qui rend wp2shell particulièrement préoccupant, c'est l'absence totale de prérequis : pas besoin de connaître un identifiant, d'exploiter un formulaire de contact ou d'abuser d'une extension tierce. L'attaque cible WordPress Core, le dénominateur commun de plus de 500 millions de sites actifs dans le monde.


Pourquoi une RCE Pre-Auth dans le Core est le scénario catastrophe pour un dev PHP

Dans la hiérarchie des vulnérabilités web, la RCE Pre-Auth est au sommet de la criticité. Voici pourquoi elle doit être traitée différemment de toute autre faille :

1. La surface d'attaque est maximale

Une faille dans un plugin affecte uniquement les sites qui l'ont installé. Une faille dans un thème, uniquement ceux qui l'utilisent. Une faille dans le Core affecte tous les sites WordPress sans exception, quelle que soit leur configuration. L'industrialisation des attaques devient triviale : un simple scanner peut cibler des millions d'URL en quelques heures.

2. L'authentification ne protège plus rien

Les mécanismes classiques de défense — mots de passe forts, 2FA, fail2ban sur wp-login.php — deviennent inopérants face à une attaque qui contourne entièrement l'authentification. L'attaquant n'a jamais besoin de frapper le formulaire de connexion.

3. L'exécution de code arbitraire = compromission totale

Une RCE ne se limite pas à lire des données. Elle permet d'écrire des fichiers, d'installer des backdoors, d'exfiltrer des bases de données, de rebondir vers d'autres serveurs sur le même réseau. Sur un hébergement mutualisé ou un serveur mal isolé, les dégâts peuvent dépasser largement le site initial.

4. Les délais de patch sont incompressibles… sauf si vous avez automatisé

Quand une CVE critique est publiée, chaque heure compte. Les bots d'exploitation automatisée ne dorment pas. Or, combien d'équipes peuvent déployer une mise à jour WordPress en production en moins de 30 minutes, sans risque de casser autre chose ? C'est là que la rigueur du processus de déploiement fait la différence entre un incident et une catastrophe.


L'automatisation des déploiements comme première ligne de défense

Face à des vulnérabilités comme wp2shell, la réponse technique ne peut pas reposer uniquement sur la vigilance humaine. Elle doit s'appuyer sur des processus reproductibles et auditables.

Mettre en place des mises à jour automatiques avec supervision

WordPress propose nativement les mises à jour automatiques des versions mineures de sécurité. Pour les projets gérés par une équipe, il est recommandé d'aller plus loin avec des outils comme WP-CLI intégré dans un pipeline CI/CD :

# Vérifier la version installée
wp core version

# Mettre à jour le core vers la dernière version stable
wp core update

# Vérifier les mises à jour disponibles (intégrable dans un cron)
wp core check-update --format=json

Ces commandes peuvent être exécutées dans un job GitHub Actions, GitLab CI ou tout autre orchestrateur, avec notification Slack ou email en cas de mise à jour disponible.

Versionner les dépendances WordPress avec Composer

Pour les projets PHP où WordPress est géré comme une dépendance (via roots/wordpress ou johnpbloch/wordpress), la mise à jour se réduit à :

composer update johnpbloch/wordpress-core

Cela permet d'intégrer la mise à jour dans un workflow de déploiement classique, avec revue de code, tests automatisés et déploiement en staging avant la production.

Surveiller les CVE en temps réel

Plusieurs sources permettent de recevoir des alertes dès qu'une CVE WordPress est publiée :

  • WPScan Vulnerability Database : API gratuite avec flux RSS et webhooks
  • Patchstack : monitoring de sécurité WordPress avec alertes par email
  • MITRE CVE / NVD : pour suivre les CVE au niveau standard

Intégrer ces alertes dans un canal de communication d'équipe (Slack, Teams) permet de réduire le délai de réaction de plusieurs jours à quelques heures.


Conclusion : la sécurité n'est pas un état, c'est un processus

wp2shell est un rappel brutal que même les logiciels les plus audités peuvent contenir des failles critiques. Aucun CMS, aucun framework, aucune stack n'est immunisé. Ce qui distingue les équipes qui s'en sortent de celles qui subissent des incidents, c'est la capacité à répondre vite et de manière fiable.

Pour les projets WordPress gérés par des développeurs PHP, cela signifie :

  • Mettre à jour immédiatement vers 6.9.5 ou 7.0.2 selon la version en place
  • Automatiser la détection des mises à jour de sécurité
  • Intégrer WordPress dans un pipeline de déploiement reproductible
  • Ne jamais considérer qu'un site « sans plugin suspect » est un site sécurisé

📖 Source originale : WordPress Core Vulnerability "wp2shell" Allows Pre-Auth RCE: How to Fix — ServBay sur DEV Community

Partager cet article