CVE-2026-19949 : injection SQL dans All-in-One WP Migration et que faire
CVE-2026-19949 est une injection SQL de second ordre sans authentification dans l’extension WordPress All-in-One WP Migration and Backup, qui touche toutes les versions jusqu’à 7.109 incluse. ServMask l’a corrigée le 20 août 2026 avec la version 7.110, et l’attaque peut aboutir à la prise de contrôle complète du site dès qu’un administrateur restaure une sauvegarde.
Mettez d’abord l’extension à jour en 7.110 ou plus récente, car seule la mise à jour supprime le bug. Le pare-feu de ReportedIP Hive inspecte les requêtes trackback dont l’attaque a besoin, et ReportedIP Hive est gratuit sur toutes les formules.
Qu’est-ce que CVE-2026-19949 ?
La vulnérabilité CVE-2026-19949 d’All-in-One WP Migration se trouve dans la façon dont l’extension reconstruit la base de données lors de la restauration d’une archive. Elle écrit des valeurs issues de l’archive dans des requêtes SQL sans les préparer correctement. Dans une injection de second ordre, la charge est d’abord stockée et ne s’exécute que plus tard, lors d’un autre traitement. L’attaque se déroule en quatre étapes :
- L’attaquant envoie des trackbacks forgés à un article public. Aucune connexion n’est nécessaire, et WordPress les enregistre comme des commentaires ordinaires.
- La charge reste dans la base de données sans rien faire. Les scanners qui ne surveillent que les erreurs SQL immédiates ne voient rien d’anormal.
- Un administrateur exporte le site puis importe de nouveau l’archive. Pendant cette restauration, la valeur stockée sort de la requête SQL et s’exécute comme une requête.
- La requête lit la
ai1wm_secret_keyde l’extension, le jeton qui protège sa fonction d’import. Avec cette clé, un attaquant peut envoyer une archive préparée et exécuter du code sur le serveur.
Le chercheur en sécurité Jack Taylor a signalé la faille le 14 août 2026 via le programme de bug bounty de Wordfence. Wordfence lui attribue un score de 8,8 (élevé) sur l’échelle CVSS, et l’entrée NVD de CVE-2026-19949 contient la description officielle. Notre société sœur a publié un résumé en allemand : CVE-2026-19949 chez CMS ADMINS.
Quelles versions d’All-in-One WP Migration sont touchées ?
| Version | Statut | Publication |
|---|---|---|
| 7.109 et antérieures | Vulnérable | Avant le 20 août 2026 |
| 7.110 | Corrigée | 20 août 2026 |
| 7.111 | Corrigée, actuelle | 15 septembre 2026 |
L’extension compte plus de 5 millions d’installations actives. Le 29 septembre 2026, les statistiques de versions de wordpress.org indiquaient 45 pour cent des sites en 7.110 ou 7.111 : plus de la moitié utilisait donc encore une version plus ancienne. Wordfence a publié les détails techniques début septembre 2026. Dans l’entrée NVD, la CISA ne signalait aucune exploitation connue au 27 août 2026.
Que faire maintenant ?
- Mettez à jour All-in-One WP Migration en 7.110 ou plus récente sur chaque site, sous Extensions.
- Faites la mise à jour avant le prochain export ou import. L’injection ne se déclenche que lors d’une restauration.
- Fermez les trackbacks si vous ne les utilisez pas. Le réglage WordPress sous Réglages → Discussion ne s’applique qu’aux nouveaux articles. L’interrupteur Hive Disable XML-RPC ferme aussi les pingbacks et les trackbacks sur tous les articles existants.
- Si vous avez restauré une archive avec la version 7.109 ou antérieure, effectuez les vérifications de la section suivante.
Comment savoir si votre site a été ciblé ?
- Trackbacks. Filtrez l’écran Commentaires sur les pings et cherchez des trackbacks provenant de sites inconnus, souvent plusieurs d’affilée sur le même article.
- Commentaires après une restauration. Un nouveau commentaire approuvé contenant une longue chaîne aléatoire peut renfermer la clé secrète divulguée.
- Extensions must-use. Vérifiez dans
wp-content/mu-pluginsla présence de fichiers que personne de votre équipe n’a ajoutés. - Comptes. Cherchez des comptes administrateur que personne n’a créés.
- Journal d’événements Hive. Les blocages du pare-feu sur des adresses trackback montrent quelles adresses IP ont tenté de déposer la charge.
Si vous trouvez l’un de ces signes, considérez le site comme compromis. Restaurez une sauvegarde saine antérieure au premier trackback suspect, mettez l’extension à jour et changez tous les mots de passe administrateur.
Comment ReportedIP Hive traite-t-il cette attaque ?
Le pare-feu Hive est activé par défaut sur toutes les formules et fonctionne en mode blocage. Il vérifie l’adresse, le corps de la requête et l’agent utilisateur de chaque requête des visiteurs non connectés, requêtes trackback comprises. Avec Extended Protection activée, la vérification a lieu avant le chargement de WordPress. La documentation du pare-feu explique les jeux de règles et les exceptions.
Deux niveaux s’appliquent à cette attaque. La base livrée avec l’extension bloque les formes courantes d’injection SQL sur chaque site, y compris en mode Local Shield. Depuis septembre 2026, le jeu de règles signé de ReportedIP contient en plus la règle waf_sqli_trackback_2nd. Elle n’examine que les requêtes trackback et repère les fragments SQL et les séquences d’échappement qu’un trackback normal ne contient jamais. Les sites en mode Community Network la reçoivent par la synchronisation régulière des règles, y compris sur la formule gratuite. Les sites en mode Local Shield restent sur la base livrée, voir les modes de fonctionnement.
Une limite vaut pour tout pare-feu. La deuxième étape, la restauration, s’exécute dans PHP sans requête HTTP, donc aucun pare-feu ne la voit. Bloquer les trackbacks arrête les nouvelles charges. Les interrupteurs de verrouillage ferment entièrement le point d’entrée, et la mise à jour de l’extension est le correctif. Le cas wp2shell dans le cœur de WordPress a suivi le même schéma : les règles du pare-feu ont protégé les sites jusqu’à leur mise à jour.
Questions fréquentes
All-in-One WP Migration est-il sûr après la mise à jour ?
Les versions 7.110 et suivantes ne sont pas touchées par CVE-2026-19949, et la 7.111 du 15 septembre 2026 est la version actuelle. Les charges déposées auparavant ne peuvent plus s’exécuter sur une version corrigée. Un site qui a restauré une archive en 7.109 ou antérieure doit tout de même être vérifié : clés divulguées, extensions must-use inconnues et nouveaux comptes administrateur.
Suis-je exposé si je ne restaure jamais de sauvegarde ?
L’injection ne s’exécute que lors d’un export suivi d’un import, donc un site qui ne restaure jamais n’est pas exploité par ce bug. Les trackbacks stockés restent toutefois dans la base de données et se déclenchent à la prochaine restauration sur une ancienne version. Une migration vers un nouvel hébergeur compte comme une restauration. Mettez l’extension à jour dès maintenant au lieu d’attendre la prochaine migration.
ReportedIP Hive remplace-t-il la mise à jour de l’extension ?
Hive ne remplace pas la mise à jour, car seule la version 7.110 ou plus récente supprime le bug. Le pare-feu inspecte les requêtes trackback qui apportent la charge et peut fermer les trackbacks d’un seul interrupteur. La restauration elle-même s’exécute sans requête HTTP, et aucun pare-feu ne peut inspecter cette étape. Mettez l’extension à jour sur chaque site.