WordPress, falla RCE in All-in-One WP Migration: esposti circa 3,2 milioni di siti
Vulnérabilités

Image d’illustration générée par IA

WordPress, faille RCE dans All-in-One WP Migration : environ 3,2 millions de sites exposés

CVE-2026-19949 affecte All-in-One WP Migration jusqu'à 7.109 : injection SQL menant à RCE, 3,2M sites exposés. Mettez à jour vers 7.110.

Texte généré par intelligence artificielle, publié sans relecture humaine. Transparence IA

Une vulnérabilité critique dans l’extension All-in-One WP Migration and Backup peut être exploitée pour obtenir l’exécution de code à distance sur un site WordPress. Référencée sous le nom CVE-2026-19949, elle affecte toutes les versions de l’extension jusqu’à la 7.109 incluse.

Le correctif est disponible dans la version 7.110, publiée le 20 août. Au 3 septembre 2026, toutefois, seuls 35 % des plus de 5 millions d’installations actives avaient été mises à jour. Environ 3,2 millions de sites seraient donc encore exposés.

La faille affecte la procédure de restauration des archives .wpress et résulte d’une injection SQL de second ordre. L’exploitation combine des données enregistrées dans la base de données, des trackbacks WordPress, des commentaires accessibles via l’API REST et une archive de sauvegarde conçue pour installer du code malveillant.

Versions vulnérables et gravité de CVE-2026-19949

Le périmètre des installations concernées est précisément défini :

  • Produit : All-in-One WP Migration and Backup pour WordPress ;
  • Versions vulnérables : jusqu’à la 7.109 incluse ;
  • Version corrigée : 7.110 ;
  • Composant concerné : fonction d’importation et de restauration des archives .wpress.

La fiche NVD du NIST attribue à la vulnérabilité un score CVSS v3 de 8.8, avec le vecteur suivant :

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

La vulnérabilité est classée CWE-89, qui concerne la neutralisation inadéquate des éléments spéciaux utilisés dans une commande SQL. La faille permet d’ajouter des requêtes SQL à des opérations déjà préparées par l’extension et d’extraire des informations sensibles de la base de données.

Les valeurs CVSS indiquent un impact élevé sur la confidentialité, l’intégrité et la disponibilité. L’attaque peut être menée à distance, présente une faible complexité et ne nécessite aucune interaction de la part d’un utilisateur au moment de l’exploitation.

Une incohérence subsiste toutefois dans la classification. La description de la vulnérabilité et l’analyse de Defiant, l’entreprise à l’origine du signalement, évoquent un scénario accessible à un attaquant non authentifié. Le vecteur CVSS contient en revanche PR:L, ce qui indique la nécessité de disposer de faibles privilèges. Aucun éclaircissement définitif n’est disponible sur cette différence.

Pourquoi s’agit-il d’une injection SQL « de second ordre » ?

Dans une injection SQL traditionnelle, l’entrée malveillante atteint directement une requête vulnérable et est exécutée dans le même flux que la requête initiale. Ici, le chemin d’exploitation est plus complexe.

L’attaquant insère d’abord des données manipulées que WordPress enregistre sans les transformer immédiatement en requête dangereuse. L’entrée reste dans la base de données et ne devient exécutable que plus tard, lorsque l’extension traite ces données lors de la création et de la restauration d’une archive.

D’où la notion d’injection SQL de second ordre : le payload est stocké lors d’une première étape, puis activé ultérieurement dans le cadre d’un autre processus applicatif.

All-in-One WP Migration compresse le contenu, la configuration et la base de données d’un site dans des fichiers portant l’extension .wpress. Lors de l’importation, l’extension doit adapter les URL et les préfixes de tables au serveur cible. C’est précisément cette réécriture du code SQL stocké qui transforme l’entrée contrôlée par l’attaquant en instructions exécutables.

Le problème vient d’un échappement insuffisant d’un paramètre contrôlable à distance et de la préparation inadéquate d’une requête SQL existante. L’attaque ne se résume donc pas au simple chargement d’une sauvegarde : elle exploite la manière dont l’extension reconstruit la base de données.

Des trackbacks à la clé secrète de l’extension

La chaîne d’exploitation décrite par Defiant commence par l’envoi de deux trackbacks vers un article WordPress public. Chaque trackback contient une barre oblique inversée finale ainsi qu’une URL liée au payload.

Ces valeurs sont enregistrées sans suppression des barres obliques inversées et sans blocage des URL. Le code reste initialement inactif. Pour finaliser l’injection SQL, il faut qu’un administrateur crée ensuite une archive, puis l’importe.

Lors de la restauration, l’extension modifie les URL et les préfixes de tables présents dans le dump SQL. Cette opération retraite également le contenu inséré dans les trackbacks et le transforme en SQL valide.

La requête ainsi obtenue copie dans un commentaire la valeur de ai1wm_secret_key, la clé utilisée pour protéger les différentes étapes de l’importation. Le commentaire est ensuite approuvé et devient accessible au public.

L’attaquant peut alors récupérer la clé sans authentification via le point de terminaison REST API des commentaires. Le secret dérobé permet de contourner le contrôle prévu par la procédure d’importation, laquelle n’utilise pas l’authentification administrative WordPress classique.

La vulnérabilité repose donc sur l’interaction entre plusieurs composants : les trackbacks du cœur de WordPress, la base de données, la procédure de restauration de l’extension et l’API REST des commentaires.

L’archive .wpress permet l’exécution de code

Après avoir obtenu la clé, l’attaquant peut importer une archive .wpress spécialement préparée. Le fichier contient un must-use plugin malveillant, c’est-à-dire du code PHP chargé automatiquement par WordPress sans nécessiter l’activation habituelle des extensions.

Lors du chargement suivant d’une page, le composant est exécuté et l’attaquant obtient une exécution de code à distance (remote code execution, RCE). L’installation WordPress peut alors être entièrement compromise.

Une RCE permet, selon les privilèges du processus web, d’installer une webshell, de maintenir l’accès au serveur et de modifier des fichiers ou des configurations. Elle peut également exposer les données stockées dans la base, permettre de modifier le contenu du site et transformer l’installation compromise en point d’appui pour d’autres activités.

La chaîne d’exploitation nécessite plusieurs étapes et comprend une opération administrative de sauvegarde et de restauration. Cela ne supprime pas le risque : le payload peut rester stocké jusqu’à ce que l’administrateur effectue précisément ces opérations.

Mise à jour urgente et vérifications des installations

La mesure corrective documentée consiste à mettre à jour All-in-One WP Migration and Backup vers la version 7.110. Toute installation utilisant la version 7.109 ou une version antérieure doit être considérée comme vulnérable.

Aucune mesure d’atténuation temporaire officielle n’a été indiquée. En particulier, aucune instruction documentée ne permet de neutraliser la faille en intervenant uniquement sur les trackbacks, le point de terminaison REST des commentaires ou l’importation des fichiers .wpress. Ces modifications ne doivent donc pas être considérées comme un substitut au correctif.

En plus de vérifier la version installée, les administrateurs devraient rechercher d’éventuels signes compatibles avec la chaîne d’exploitation décrite :

  • trackbacks inhabituels contenant des URL inattendues ou des barres obliques inversées finales ;
  • commentaires publiés ou approuvés sans justification opérationnelle ;
  • éventuelle exposition de la valeur ai1wm_secret_key ;
  • importations .wpress non reconnues ;
  • présence de must-use plugins inconnus ;
  • fichiers PHP, webshells ou modifications persistantes non attribuables aux administrateurs.

Aucun nom de fichier, adresse IP, hash ou autre indicateur de compromission spécifique n’a été communiqué. Les vérifications doivent donc porter sur l’historique des importations, les journaux HTTP, le contenu des commentaires et le répertoire réservé aux must-use plugins.

Aucune information sur le catalogue CISA KEV ni sur les précédents de l’éditeur

L’ajout de CVE-2026-19949 au catalogue Known Exploited Vulnerabilities de la CISA n’a pas été signalé. Aucune échéance fédérale associée à cette vulnérabilité n’est donc connue.

L’absence de statut KEV communiqué ne prouve pas que la faille ne fasse l’objet d’aucune exploitation réelle ; elle indique seulement qu’aucune confirmation opérationnelle de ce type n’est disponible. Aucune donnée sur des campagnes actives ou des attaques observées à grande échelle n’a non plus été fournie.

Le nom de l’éditeur n’est pas explicitement indiqué au-delà de celui du produit. Il n’est donc pas possible de relier de manière fiable cet incident à d’éventuels précédents récents du même éditeur dans le catalogue KEV.

Le chiffre le plus immédiat reste l’ampleur de l’exposition : environ 3,2 millions d’installations étaient encore vulnérables au 3 septembre. Pour les responsables d’un site WordPress utilisant cette extension, la priorité est de vérifier la version installée et de déployer la 7.110.

À lire aussi

Sources

Cet article est une réécriture originale fondée sur les sources ci-dessous.

CVE traitées dans cet article

Sujets liésAll-in-One WP MigrationCVE-2026-19949faille WordPress RCEinjection SQL second ordresécurité WordPressmise à jour 7.110
Retour à l'accueil