Aller au contenu
LeLinter
← Tous les articles

21 juillet 2026 , mis à jour le 21 juillet 2026

Faille WordPress WP2Shell : se protéger en 10 minutes

Faille WordPress WP2Shell : se protéger en 10 minutes

La faille critique WP2Shell touche WordPress 6.9 et 7.0. Vérifiez votre version, appliquez le correctif en trois étapes, et sécurisez un parc multi-sites.

Franck Boué
Franck Boué

8 min de lecture

Une faille critique affecte WordPress 6.9 et 7.0. Elle permet à un attaquant de prendre le contrôle complet d'un site sans aucune authentification. WordPress a forcé les mises à jour automatiques. Voici comment vérifier que vous êtes protégé.

À retenir

  • WP2Shell combine un bug de routage de l'API REST avec une injection SQL pour exécuter du code sans authentification
  • Sont concernées les versions 6.9.0 à 6.9.4 et 7.0.0 à 7.0.1 : vérifiez la vôtre dans À propos de WordPress (30 secondes)
  • Passez en 6.9.5, 7.0.2 ou plus récent ; les mises à jour automatiques ont probablement déjà fait le travail
  • Si vous ne pouvez pas mettre à jour tout de suite : bloquez /wp-json/batch/v1 via un WAF, pendant 48 h maximum

1. L'ampleur de la faille WP2Shell

La faille WP2Shell (CVE-2026-63030 et CVE-2026-60137) enchaîne deux défauts du cœur de WordPress :

  • Confusion de route sur l'API REST : une erreur de routage dans les requêtes groupées
  • Injection SQL : une injection dans les paramètres de WP_Query

Résultat : un attaquant peut exécuter du code arbitraire sur votre serveur. Sans mot de passe, sans plugin vulnérable, sans rien d'autre.

Sévérité constatée (Security Affairs, juillet 2026) :

Bonne nouvelle : WordPress a forcé les mises à jour automatiques. Vous êtes probablement déjà protégé.

2. Qui est affecté ? Vérifiez votre version de WordPress

Selon Security Affairs, citant Searchlight Cyber (juillet 2026), le parc WordPress potentiellement exposé se compte en centaines de millions de sites. Deux actions suffisent : vérifier votre version en moins d'une minute, puis mettre à jour si nécessaire. Aucun réglage ni plugin ne peut bloquer une faille située dans le cœur de WordPress.

VersionStatut
WordPress 6.9.0 à 6.9.4Vulnérable (chaîne complète, exécution de code)
WordPress 6.9.5 et plusPatché
WordPress 7.0.0 à 7.0.1Vulnérable (chaîne complète, exécution de code)
WordPress 7.0.2 et plusPatché
WordPress 6.8.0 à 6.8.5Injection SQL seule, sans exécution de code : passez en 6.8.6
WordPress 6.7 et antérieurNon affecté

Comment connaître votre version ?

  1. Connectez-vous à votre tableau de bord WordPress
  2. Allez dans À propos de WordPress (en bas du menu)
  3. Regardez le numéro de version en haut

Vous voyez 6.9.5, 7.0.2 ou plus récent ? Vous êtes protégé, vous pouvez fermer cet article.

Vous voyez une version comprise entre 6.9.0 et 6.9.4, ou entre 7.0.0 et 7.0.1 ? Continuez à la section 3.

3. Comment ça marche ? (pour les curieux)

Une injection SQL combinée à une erreur de routage de l'API REST ouvre un tunnel : l'attaquant envoie une requête groupée mal formée vers /wp-json/batch/v1, WordPress se trompe de route et exécute du code arbitraire. Aucune authentification n'est requise. Security Affairs confirme que des exploits publics circulent depuis juillet 2026 et que des attaques massives sont en cours.

La faille s'exploite en quatre temps :

  1. L'attaquant envoie une requête groupée vers l'API REST (/wp-json/batch/v1)
  2. WordPress confond les routes et exécute les mauvaises commandes
  3. Une injection SQL se glisse dans le paramètre author__not_in
  4. Du code s'exécute sur votre serveur

Pourquoi c'est grave : contrairement à la plupart des failles WordPress, qui viennent de plugins mal écrits, celle-ci se situe dans le cœur de WordPress lui-même. Aucun plugin de sécurité ne peut la bloquer. Seule une mise à jour fonctionne.

Pour aller plus loin, retrouvez tous nos articles consacrés à WordPress.

Attaque REST API et injection SQL sur WordPress, visualisation technique L'attaque WP2Shell chaîne deux vulnérabilités du cœur de WordPress pour obtenir un accès non authentifié.


4. Les trois actions à mener maintenant

WordPress a forcé les mises à jour automatiques pour cette faille depuis le 19 juillet 2026. Selon les avis de sécurité publiés sur GitHub, la plupart des sites dont les mises à jour automatiques sont actives sont déjà protégés. Les autres doivent mettre à jour manuellement, ce qui prend moins de dix minutes.

Action 1 : vérifiez que vous êtes à jour

Retournez à la section 2 et regardez votre version. C'est la seule chose qui compte.

  • WordPress 6.9.5 ou plus récent ? Vous êtes tranquille
  • WordPress 7.0.2 ou plus récent ? Vous êtes tranquille
  • Toute autre version ? Lisez la suite

Action 2 : mettez à jour si nécessaire

Option A : mise à jour automatique (la majorité des sites)

Rien à faire. WordPress a forcé les mises à jour automatiques pour cette faille, et votre site a normalement été corrigé dans les 48 heures qui ont suivi la publication.

Pour le vérifier :

  1. Patientez 15 minutes
  2. Videz le cache de votre navigateur (Ctrl+Maj+Suppr)
  3. Retournez dans À propos de WordPress
  4. Vérifiez que le numéro de version a changé

Option B : mise à jour manuelle (si vous avez désactivé les mises à jour automatiques)

Via le tableau de bord :

  1. Allez dans Mises à jour (menu de gauche)
  2. Cliquez sur Mettre à jour maintenant
  3. Comptez deux à trois minutes

Via FTP, si les permissions bloquent :

  1. Téléchargez WordPress 6.9.5 ou 7.0.2 depuis wordpress.org
  2. Connectez-vous en FTP
  3. Remplacez les fichiers de /wp-admin et /wp-includes
  4. Laissez /wp-content intact

Sauvegardez avant de mettre à jour. Si vous n'êtes pas sûr de vous, demandez à votre hébergeur une sauvegarde automatique préalable. Nous détaillons notre façon de procéder sur la page montée de version.

Action 3 : vérification finale

Retournez dans À propos de WordPress. Vous devez voir 6.9.5 ou plus, ou 7.0.2 ou plus.

Vous ne voyez pas la mise à jour ?

  • Patientez une heure
  • Videz le cache
  • Si rien ne bouge, contactez votre hébergeur : il gère peut-être les mises à jour lui-même

5. Que faire si vous ne pouvez pas patcher tout de suite ?

Un WAF (pare-feu applicatif) peut bloquer temporairement la chaîne d'exploitation, mais ce n'est pas une solution définitive. Security Affairs rapporte que des exploits publics circulent activement. Considérez cette protection comme un délai de 24 à 48 heures, pas davantage.

Protection temporaire via WAF

Si vous disposez d'un pare-feu applicatif (Cloudflare, Sucuri, etc.), bloquez les requêtes vers /wp-json/batch/v1.

Sur Cloudflare :

  1. Allez dans Sécurité, puis Règles WAF
  2. Créez une règle : (http.request.uri.path contains "/wp-json/batch/v1")
  3. Action : Block

Sur Sucuri : allez dans Firewall Rules et bloquez le même chemin.

Cela arrête la quasi-totalité des tentatives d'exploitation automatisées, mais ne remplace pas le correctif. Mettez à jour dès que possible.

Pare-feu applicatif bloquant les requêtes malveillantes d'injection SQL Un WAF agit comme un bouclier temporaire, le temps d'appliquer le correctif définitif.

Calendrier réaliste

  • Dans les 24 heures : mettez en place la règle WAF temporaire
  • De 24 heures à une semaine : mettez le site à jour
  • Après une semaine : supprimez la règle WAF

6. Comment vérifier un parc multi-sites ? (checklist agences)

Si vous gérez plusieurs sites clients, comme nous chez Le Linter, voici la marche à suivre :

  • Listez tous les sites WordPress et leurs versions
  • Vérifiez que chacun est en 6.9.5 ou plus, ou en 7.0.2 ou plus
  • Pour ceux qui ne le sont pas : mettez à jour, ou ajoutez une règle WAF temporaire
  • Documentez les actions menées site par site
  • Prévenez les clients que leurs sites ont été corrigés
  • Activez les mises à jour de sécurité automatiques partout

Chez Le Linter, nous avons corrigé tous les sites clients dans la nuit du 19 juillet. Nos clients WordPress sont protégés et n'ont rien à faire. Pour les autres, notre prestation audit de faille critique permet de vérifier l'état d'un parc.

7. Ressources et suivi

Où vérifier les informations officielles :

Pour la suite :

  1. Activez les mises à jour automatiques du cœur, des plugins et des thèmes
  2. Installez un pare-feu applicatif (Cloudflare Free, Sucuri, Wordfence)
  3. Faites un audit de sécurité une fois par an
  4. Gardez vos plugins à jour, beaucoup de failles viennent d'extensions mal maintenues

Un doute sur votre parc WordPress ?

Vous êtes client Le Linter ? Contactez votre interlocuteur habituel.

Vous ne l'êtes pas ? Faites un audit WordPress gratuit : en 15 minutes, on vous dit si votre parc est à jour et sécurisé.

Cet article s'appuie sur les sources officielles WordPress et sur les avis WPScan. Aucune affiliation.

Questions fréquentes

Les réponses courtes aux questions que ces sujets soulèvent le plus souvent.