🔍 Contexte
Publié le 1er septembre 2026 par István Márton sur le blog Wordfence, cet article détaille une vulnérabilité critique découverte le 14 août 2026 dans le plugin WordPress All-in-One WP Migration and Backup, qui compte plus de 5 millions d’installations actives.
🐛 Vulnérabilité
- Type : Injection SQL de second ordre non authentifiée (Second-Order SQL Injection)
- CVE : CVE-2026-19949
- Score CVSS : 8.8 (High)
- Versions affectées : toutes les versions jusqu’à 7.109 incluse
- Version corrigée : 7.110
- Composant vulnérable : fonction
replace_table_values()dans la classeAi1wm_Database, dont l’expression régulière mal construite ('(.*?)(?<!\\)') ne gère pas correctement les séquences de backslashes pairs, provoquant une confusion de délimiteur de chaîne SQL.
⚙️ Mécanisme d’exploitation
L’exploitation se déroule en plusieurs étapes :
- Plantation du payload : Un attaquant non authentifié soumet deux trackbacks malveillants à un post public acceptant les pings. Le nom de blog se termine par un backslash et l’URL contient un payload SQL. WordPress stocke ces valeurs dans la table
commentssans assainissement. - Déclenchement : Lorsqu’un administrateur effectue un export puis un import du site (opération normale pour ce plugin), la fonction de réécriture SQL traite les données stockées et, en raison du bug de l’expression régulière, le payload attaquant est promu de donnée à SQL exécutable.
- Fuite de la clé secrète : Le premier payload dépasse le budget temps du pipeline d’import, forçant une pause et un commit de transaction. Le second payload lit la valeur
ai1wm_secret_keydepuis la tableoptionset l’écrit dans un commentaire approuvé, la rendant publiquement visible via l’API REST des commentaires. - Exécution de code à distance : L’attaquant utilise la clé secrète récupérée pour piloter directement l’action d’import du plugin avec une archive
.wpresscontenant un must-use plugin malveillant, extrait dans le répertoire mu-plugins et exécuté au prochain chargement de page, aboutissant à une RCE en tant qu’utilisateur du serveur web.
📅 Chronologie
- 14 août 2026 : Soumission de la vulnérabilité par Jack Taylor via le programme Wordfence Bug Bounty (prime : 5 761 $)
- 15 août 2026 : Validation et divulgation au vendeur (ServMask)
- 16 août 2026 : Règle de pare-feu déployée pour les utilisateurs Premium/Care/Response
- 17 août 2026 : Accusé de réception du vendeur
- 20 août 2026 : Publication de la version corrigée 7.110
- 15 septembre 2026 : Déploiement de la règle de pare-feu pour les utilisateurs gratuits
📰 Nature de l’article
Il s’agit d’une analyse technique détaillée publiée par Wordfence dans le cadre de sa politique de divulgation responsable, accompagnée d’extraits de code source, d’une chronologie de divulgation et d’un résumé de vulnérabilité structuré. L’objectif principal est d’informer les administrateurs WordPress de la criticité de la faille et de les inciter à mettre à jour le plugin.
🧠 TTPs et IOCs détectés
TTP
- T1190 — Exploit Public-Facing Application (Initial Access)
- T1059 — Command and Scripting Interpreter (Execution)
- T1505.003 — Server Software Component: Web Shell (Persistence)
- T1552.001 — Unsecured Credentials: Credentials In Files (Credential Access)
- T1565.001 — Stored Data Manipulation (Impact)
IOC
⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 4 septembre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.
🟡 Indice de vérification factuelle : 51/100 (moyenne)
- ⬜ wordfence.com — source non référencée (0pts)
- ✅ 15322 chars — texte complet (fulltext extrait) (15pts)
- ✅ 1 IOC(s) (6pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 5 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ✅ 1/1 CVE(s) confirmée(s) (CIRCL) (5pts)
🔗 Source originale : https://www.wordfence.com/blog/2026/09/5-million-wordpress-sites-affected-by-sql-injection-vulnerability-in-all-in-one-wp-migration-and-backup-wordpress-plugin/