En octobre 2026, deux extensions du CMS WordPress ont été compromises presque simultanément. Rank Math SEO PRO 3.0.123, utilisée par des millions de sites web, a été piégée par une attaque de supply chain pendant une fenêtre de 11 heures (CVE-2026-111862, CVSS 9.8). En parallèle, Bricksforge, extension de formulaires pour le constructeur Bricks Builder, a exposé une faille d'upload de fichier PHP sans authentification (CVE-2026-85097, CVSS 9.8), exploitée activement depuis le 7 octobre. Si vous hébergez un ou plusieurs sites web WordPress sur un VPS Linux ou un serveur dédié, ce tutoriel vous explique comment vérifier si votre serveur est compromis, comment le nettoyer en ligne de commande et comment configurer votre hébergement pour prévenir ce type d'attaque.
Sources : Patchstack (CVE-2026-111862), Mallory (CVE-2026-85097), SecurityOnline.
Rank Math PRO 3.0.123 : supply chain compromise (CVE-2026-111862)
Le 15 octobre 2026 entre 20:02 UTC et le 16 octobre 2026 à 07:12 UTC, des attaquants ont compromis l'infrastructure de distribution de Rank Math et remplacé les paquets de mise à jour de la version payante Rank Math SEO PRO 3.0.123 par un build piégé contenant une backdoor. Seule la version payante (PRO), distribuée exclusivement depuis le site de l'éditeur, est concernée. La version gratuite disponible sur le dépôt officiel WordPress.org n'est pas affectée.
La vulnérabilité est classée CVSS 9.8 et référencée CWE-506 (Embedded Malicious Code). Le code malveillant s'exécute sans authentification, dès qu'un visiteur charge une page du site WordPress infecté. La charge utile communique avec le domaine de commande et contrôle rank1cdn[.]com et installe des mécanismes de persistance multiples sur le serveur.
Ce que la backdoor installe sur le serveur :
- Des comptes admin WordPress non autorisés (noms d'utilisateur commençant par
wpsupport_) ; - Des scripts PHP cachés dans les répertoires de plugins et de thèmes ;
- De faux fichiers WordPress core contenant du code exécutable ;
- Des fichiers
.cachecontenant du code PHP exécutable ; - Des marqueurs de tâches cron WordPress pour la persistance ;
- Un script de récolte de mots de passe WordPress, identifiants de base de données MySQL/MariaDB et clés API.
Rank Math a retiré les paquets compromis et publié la version 3.0.124 comme remplacement sain. La mise à jour vers 3.0.124 remplace le plugin, mais ne supprime pas les comptes admin, les scripts malveillants, les tâches cron et les backdoors déposés ailleurs sur le serveur. Tout site ayant installé ou mis à jour Rank Math PRO pendant la fenêtre du 15 au 16 octobre 2026 doit être considéré comme compromis. L'éditeur recommande de restaurer un backup d'avant le 15 octobre.
Bricksforge : upload PHP sans authentification (CVE-2026-85097)
CVE-2026-85097 est une faille d'upload de fichier arbitraire sans authentification dans le module Pro Forms de Bricksforge, extension pour le constructeur de pages Bricks Builder. Toutes les versions jusqu'à 3.1.8.9 incluse sont vulnérables. La faille est notée CVSS 9.8 et classée CWE-434 (Unrestricted Upload of File with Dangerous Type).
L'exploitation se déroule en deux étapes. L'attaquant utilise d'abord l'action AJAX bricksforge_regenerate_nonce, accessible publiquement, pour obtenir un jeton valide. Il envoie ensuite un fichier polyglotte GIF/PHP qui passe les vérifications MIME initiales via le paramètre temporaryFileUploads. Un second envoi de formulaire associe le chemin serveur du fichier validé à une URL de destination avec l'extension .php, forçant le plugin à écrire un script exécutable à un emplacement accessible. Le résultat : une exécution de code PHP arbitraire sur le serveur web, sans authentification.
Patchstack a détecté les premières tentatives d'exploitation automatisée le 7 octobre 2026, plusieurs jours avant la publication de l'avis de sécurité le 8 octobre. Bricksforge a corrigé la faille dans les versions 3.1.8.10 et 4.0.1.
Vérifier si votre WordPress est compromis
Les vérifications suivantes s'effectuent en ligne de commande via SSH sur votre VPS Linux ou serveur dédié. Connectez-vous en SSH et positionnez-vous dans le répertoire racine de votre installation WordPress.
Pour Rank Math PRO (CVE-2026-111862)
Vérifiez la version installée du plugin :
grep -i "version" wp-content/plugins/seo-by-rank-math-pro/seo-by-rank-math-pro.php | head -5
Si la version affichée est 3.0.123 et que le plugin a été installé ou mis à jour entre le 15 et le 16 octobre 2026, votre site est compromis. Recherchez les comptes admin suspects dans la base de données :
wp user list --role=administrator --fields=ID,user_login,user_registered
Tout compte dont le nom commence par wpsupport_ est un indicateur de compromission. Vérifiez aussi la database WordPress (MySQL ou MariaDB) pour les marqueurs persistants :
wp db query "SELECT option_name, option_value FROM wp_options WHERE option_name LIKE '%rank1cdn%' OR option_name LIKE '%wpsupport_%';"
Recherchez les scripts et fichiers suspects déposés sur le serveur :
find wp-content/ -name "*.cache" -exec file {} \; | grep PHP
find wp-content/ -name "*.php" -newer wp-content/plugins/seo-by-rank-math-pro/seo-by-rank-math-pro.php -mtime -30
Vérifiez le fichier de configuration wp-config.php pour détecter des lignes ajoutées (include, require, eval) qui n'étaient pas dans votre configuration d'origine :
sudo git diff --no-index /chemin/backup/wp-config.php ./wp-config.php
Pour Bricksforge (CVE-2026-85097)
Vérifiez la version installée :
grep -i "version" wp-content/plugins/bricksforge/bricksforge.php | head -5
Si la version est inférieure ou égale à 3.1.8.9, le plugin est vulnérable. Recherchez des web shells potentiels déposés via l'upload :
find wp-content/uploads/ -name "*.php" -type f
find /tmp/ -name "*.php" -type f 2>/dev/null
Consultez les journaux d'accès de votre serveur web (Apache ou Nginx) pour identifier les requêtes suspectes ciblant les endpoints AJAX de Bricksforge. Sous Apache :
grep -i "bricksforge" /var/log/apache2/access.log | grep -i "regenerate_nonce\|temporaryFileUploads"
Sous Nginx :
grep -i "bricksforge" /var/log/nginx/access.log | grep -i "regenerate_nonce\|temporaryFileUploads"
Relevez les adresses IP qui apparaissent dans ces lignes : elles correspondent aux machines ayant tenté d'exploiter la faille sur votre serveur web.
Procédure de nettoyage
Pour les deux failles, la procédure de nettoyage la plus fiable est la restauration d'un backup sain antérieur à la compromission. Si vous maintenez des sauvegardes régulières de votre VPS (voir notre guide sauvegarder un VPS avec rsync), restaurez le backup le plus récent datant d'avant le 15 octobre 2026 pour Rank Math, ou d'avant le 7 octobre 2026 pour Bricksforge.
Si aucun backup n'est disponible, voici la procédure manuelle en ligne de commande. Exécutez ces opérations avec les droits sudo si nécessaire :
- Sauvegardez les journaux du serveur web (Apache ou Nginx) et un dump de la base de données avant toute modification (forensics) :
sudo mysqldump -u root wordpress_db > /root/forensics_$(date +%Y%m%d).sql sudo cp -a /var/log/apache2/ /root/forensics_logs_apache/ sudo cp -a /var/log/nginx/ /root/forensics_logs_nginx/ - Supprimez les comptes admin suspects (
wpsupport_*) via WP-CLI :wp user delete $(wp user list --role=administrator --field=ID --search="wpsupport_*") --reassign=1 - Supprimez les scripts malveillants identifiés par les commandes de vérification ci-dessus ;
- Réinstallez le coeur WordPress pour écraser les fichiers core potentiellement modifiés :
wp core download --force - Mettez à jour les extensions : Rank Math PRO vers 3.0.124 ou supérieur, Bricksforge vers 3.1.8.10 ou 4.0.1 ;
- Changez tous les mots de passe et identifiants :
- Comptes admin WordPress ;
- Identifiants de la base de données MySQL ou MariaDB dans le fichier de configuration
wp-config.php; - Sels WordPress : régénérez-les avec
wp config shuffle-salts; - Accès FTP (ou désactivez le FTP au profit de SFTP) ;
- Identifiants SMTP si votre site utilise un relais pour l'envoi d'e-mails ;
- Clés API tierces (passerelle de paiement, CDN, services externes).
- Supprimez les tâches cron suspectes :
wp cron event list wp cron event delete nom_du_hook_suspect - Vérifiez les fichiers de configuration du serveur web : inspectez les directives Apache (
.htaccess,httpd.conf) ou Nginx (nginx.conf, fichiers danssites-available/) pour détecter des alias ou des redirections ajoutés par l'attaquant ; - Redémarrez les services une fois le nettoyage terminé pour appliquer toutes les modifications aux fichiers de configuration :
sudo systemctl restart apache2 # ou nginx sudo systemctl restart mysql # ou mariadb sudo systemctl restart php8.3-fpm
Tableau comparatif des deux failles
| Critère | Rank Math PRO (CVE-2026-111862) | Bricksforge (CVE-2026-85097) |
|---|---|---|
| Type | Supply chain (backdoor intégrée) | Upload de fichier arbitraire |
| Score CVSS | 9.8 | 9.8 |
| Authentification requise | Aucune | Aucune |
| Versions affectées | 3.0.123 (paquets du 15-16/10/2026) | Jusqu'à 3.1.8.9 incluse |
| Version corrigée | 3.0.124 | 3.1.8.10 / 4.0.1 |
| Exploitation active | Oui (depuis le 15/10/2026) | Oui (depuis le 07/10/2026) |
| Fenêtre de compromission | 11 heures (20:02 - 07:12 UTC) | Continue jusqu'au patch |
| Mise à jour suffisante ? | Non, restaurer un backup | Oui, si aucun web shell détecté |
| CMS concerné | WordPress (extension PRO) | WordPress (extension Bricks) |
Configurer votre serveur pour limiter l'impact
Au-delà du nettoyage du CMS WordPress, il est essentiel de durcir la configuration de votre serveur web et de vos services pour limiter les dégâts d'un plugin compromis. Les mesures suivantes s'appliquent que vous utilisiez Apache ou Nginx comme serveur web, sur un système Unix (Ubuntu, Debian) administré en ligne de commande.
Désactiver l'exécution PHP dans le répertoire uploads
Un web shell déposé dans wp-content/uploads/ ne peut nuire que s'il est exécuté par le serveur web. Ajoutez cette directive dans le fichier de configuration de votre virtual host.
Sous Apache, dans le fichier .htaccess du répertoire uploads ou dans la configuration du virtual host :
<Directory /var/www/html/wp-content/uploads>
php_admin_flag engine off
</Directory>
Sous Nginx, dans le bloc server du fichier de configuration de votre site :
location ~* /wp-content/uploads/.*\.php$ {
deny all;
}
Appliquez les modifications et redémarrez le serveur web :
sudo systemctl restart apache2 # ou : sudo systemctl restart nginx
Verrouiller l'accès FTP et le relais SMTP
Un serveur compromis peut être utilisé pour envoyer du spam via le service SMTP local ou pour exfiltrer des données via FTP. Si vous n'utilisez pas le FTP, désactivez-le. Sur un VPS Ubuntu :
sudo systemctl stop vsftpd
sudo systemctl disable vsftpd
Si un service SMTP local (Postfix, Exim) est installé et que vous n'en avez pas besoin, désactivez-le de la même manière pour éviter qu'un script malveillant ne l'utilise comme relais de spam :
sudo systemctl stop postfix
sudo systemctl disable postfix
Si votre site web a besoin d'envoyer des e-mails transactionnels, configurez un relais SMTP authentifié (Mailjet, SendGrid, Amazon SES) dans les réglages de votre CMS plutôt que d'utiliser la fonction mail() PHP du serveur.
Isoler la base de données
Le fichier de configuration wp-config.php contient les identifiants de connexion à votre base de données MySQL ou MariaDB. Si ces identifiants ont été récoltés par la backdoor Rank Math, l'attaquant peut accéder à la database depuis n'importe quelle adresse IP si le port est ouvert. Vérifiez que le serveur de bases de données n'écoute que sur l'adresse locale :
sudo grep bind-address /etc/mysql/mysql.conf.d/mysqld.cnf
La valeur doit être 127.0.0.1. Si le fichier de configuration indique 0.0.0.0 ou si la directive est absente, corrigez-la et redémarrez le service :
sudo systemctl restart mysql # ou : sudo systemctl restart mariadb
Changez le mot de passe de l'utilisateur de la base de données WordPress et mettez à jour le fichier de configuration wp-config.php en conséquence :
sudo mysql -e "ALTER USER 'wp_user'@'localhost' IDENTIFIED BY 'nouveau_mot_de_passe_fort';"
Prévenir les attaques supply chain sur votre VPS
Ces deux incidents rappellent que la sécurité d'un site WordPress hébergé sur votre propre serveur repose sur plusieurs couches complémentaires. Voici les mesures concrètes à configurer sur votre VPS Linux ou serveur dédié :
- Backup automatisé et hors site : configurez des sauvegardes quotidiennes de la base de données et des fichiers, stockées sur un serveur distant (guide rsync). Conservez au minimum 30 jours d'historique pour pouvoir restaurer un backup sain même en cas de compromission découverte tardivement ;
- Mises à jour automatiques du système : maintenez les paquets (package) système à jour sur Ubuntu/Debian avec unattended-upgrades. Un serveur à jour limite la surface d'attaque en cas de web shell déposé par un plugin compromis ;
- Pare-feu et durcissement SSH : restreignez les accès au strict nécessaire. Notre guide sécuriser un VPS Ubuntu avec SSH, UFW et Fail2ban détaille la configuration complète ;
- Isolation des sites web : si vous hébergez plusieurs sites WordPress sur un même serveur, isolez-les dans des conteneurs Docker ou des utilisateurs Unix distincts. Un plugin compromis sur un site ne doit pas pouvoir accéder aux fichiers d'un autre. Chaque site utilise son propre utilisateur système, son propre pool PHP-FPM et sa propre base de données ;
- Surveillance des fichiers et scripts : utilisez un outil de surveillance d'intégrité (AIDE, OSSEC ou Tripwire) ou versionnez votre installation WordPress avec Git pour détecter les modifications inattendues. Toute modification de fichier PHP dans
wp-content/en dehors d'une mise à jour planifiée est suspecte ; - Désactiver les mises à jour automatiques des extensions payantes : les extensions premium, distribuées en dehors du dépôt officiel WordPress.org, sont les cibles de choix des attaques supply chain. Vérifiez les changelogs et les avis de sécurité avant d'appliquer manuellement une mise à jour depuis le panel d'administration WordPress ;
- Restreindre les accès réseau : le serveur de bases de données (MySQL, MariaDB) ne doit écouter que sur
127.0.0.1. Le FTP doit être désactivé au profit de SFTP. L'envoi de mail doit passer par un relais SMTP authentifié, pas par le service local. Vérifiez les ports ouverts avecsudo ss -tlnpet fermez ceux qui ne sont pas nécessaires ; - Superviser la RAM et les ressources : un script de minage ou un bot de spam consomme des ressources anormales. Surveillez la consommation de RAM et de CPU de votre VPS pour détecter une activité suspecte après une compromission.
La compromission de Rank Math PRO illustre un scénario particulièrement difficile à prévenir : même un admin vigilant qui met à jour ses extensions rapidement peut être piégé si c'est la mise à jour elle-même qui est vérolée. Dans ce cas, les sauvegardes constituent le dernier rempart. Sans backup sain récent, la reconstruction complète du site web devient la seule option fiable, comme l'a démontré Alpine Linux après la tentative d'exploitation de CVE-2026-97229 sur son instance GitLab.
Checklist post-incident
Utilisez cette liste de contrôle après le nettoyage ou la restauration d'un backup pour vous assurer que rien n'a été oublié :
- Fichier de configuration
wp-config.php: sels régénérés, identifiants base de données changés ; - Comptes admin WordPress : seuls les comptes légitimes sont présents ;
- Extensions : Rank Math PRO 3.0.124+ et/ou Bricksforge 3.1.8.10+ / 4.0.1+ ;
- Scripts suspects dans
wp-content/: aucun fichier.cachecontenant du PHP, aucun fichier PHP dansuploads/; - Tâches cron WordPress : aucune entrée inconnue ;
- Fichiers de configuration du serveur web (Apache
.htaccess/ Nginxsites-available/) : pas d'alias ou de redirection ajoutés ; - Bases de données : bind-address sur
127.0.0.1, mot de passe changé, pas de table ou d'entrée suspecte danswp_options; - Accès FTP désactivé ou mot de passe changé, identifiants SMTP mis à jour ;
- DNS et nom de domaine : vérifiez que les enregistrements DNS de votre nom de domaine n'ont pas été modifiés (redirections vers une adresse IP inconnue) ;
- Pare-feu (
ufw statusounftables) : seuls les ports nécessaires sont ouverts ; - Services redémarrés :
sudo systemctl restart apache2 nginx mysql php8.3-fpm.
Questions fréquentes
Si vous avez d'autres questions sur ces vulnérabilités WordPress, consultez la FAQ ci-dessous.
FiveM
Minecraft
Rust
RedM
Hytale