Des attaquants exploitent la CVE-2026-85097 dans l'extension WordPress Bricksforge. Cette faille permet à une personne sans compte de téléverser un fichier, que le serveur exécute ensuite comme du PHP. Selon Patchstack, relayé par The Hacker News, les tentatives d'exploitation ont été détectées le 7 octobre 2026 à 21 h 47 (UTC). Il s'agit de l'heure à laquelle Patchstack a constaté l'activité, et non de la date d'introduction ou de divulgation de la faille.
Toutes les versions jusqu'à la 3.1.8.9 incluse sont vulnérables. La version 3.1.8.10 est le premier build corrigé, et le rapport recommande de passer à la version actuelle, la 4.0.1.
Le score de gravité varie selon la source. The Hacker News indique un score CVSS de 10,0. Les données du NVD donnent 9,8 avec le vecteur CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H et classent la faiblesse en CWE-434 (téléversement sans restriction d'un fichier de type dangereux).
Pourquoi une image validée finit par devenir un fichier PHP
Bricksforge est une extension du constructeur de sites Bricks qui apporte des animations, des formulaires avancés et des fonctionnalités similaires. La faille se trouve dans la gestion des formulaires. L'extension vérifie correctement le type MIME du fichier au moment du téléversement. Mais lorsque le formulaire est soumis plus tard, elle accepte telles quelles les informations du fichier envoyées par le navigateur. Patchstack indique qu'elle ne valide pas le champ url contenu dans le paramètre temporaryFileUploads.
La description du NVD et l'avis de Wordfence décrivent la séquence suivante :
- L'attaquant demande un nonce valide au point d'accès AJAX non authentifié
bricksforge_regenerate_nonce. - Il téléverse un polyglotte GIF/PHP, c'est-à-dire une véritable image qui contient aussi du code PHP. Il passe la vérification MIME et atterrit dans le répertoire temporaire de téléversement.
- Il soumet un formulaire dont la valeur
filepointe vers cette image approuvée, tandis que la valeururlse termine par une extension PHP. - Faisant confiance aux métadonnées soumises, l'extension écrit le contenu de l'image à l'emplacement portant le nom PHP. Le code intégré s'exécute dès que ce fichier est demandé.
The Hacker News énumère les conséquences : exécution arbitraire de PHP, prise de contrôle du site, déploiement de web shell, accès à des données sensibles et accès persistant.
Patchstack a observé des requêtes visant /wp-json/bricksforge/v1/form_submit et /wp-admin/admin-ajax.php avec l'action bricksforge_form_submit. L'exploitation signalée tente aussi de contourner les filtres d'extensions. Elle utilise des suffixes PHP alternatifs (.php5, .php7, .phtml), des graphies en casse mixte (.PHP, .Php, .pHp) et des formes encodées (.%70hp, %2ephp, .%2570%2568%2570).
À quoi ressemble le trafic
La télémétrie de Patchstack fait apparaître 63 adresses IP sources distinctes, dont six sont responsables d'environ 46 % de toutes les requêtes. Deux groupes se distinguent :
- Rafale de requêtes identiques : 44 adresses IP ont envoyé 56 requêtes avec la même charge utile, en l'espace de quelques secondes.
- Sondage des extensions : trois adresses IP ont testé 25 variantes d'extensions PHP et d'encodages sur un seul fichier temporaire.
Patchstack interprète ces deux schémas comme une exploitation automatisée passant par des proxys tournants ou une infrastructure distribuée. Selon ses termes, ils « ne permettent pas, à eux seuls, d'attribuer l'activité à un seul acteur de la menace ».
Les six adresses les plus actives, défanged tel que publié :
177.75.57[.]20
23.97.62[.]146
84.247.60[.]125
38.154.185[.]97
150.109.16[.]166
153.75.90[.]146
Ce que doivent faire les propriétaires de sites
Mettez Bricksforge à jour vers la 4.0.1 ; la 3.1.8.10 est la version corrigée minimale. Le rapport recommande aussi de rechercher des traces d'abus antérieurs :
- Examinez les requêtes entrantes vers
/wp-json/bricksforge/v1/form_submitqui contiennent un paramètretemporaryFileUploads. - Recherchez les soumissions de formulaire répétées.
- Inspectez
/wp-content/uploads/bricksforge/tmp/à la recherche de fichiers PHP qui n'ont rien à y faire.
Une campagne parallèle : du XSS stocké pour installer une porte dérobée
Le même rapport couvre un cas distinct. Des attaquants exploitent des failles de type cross-site scripting stocké (CWE-79) dans deux extensions sans lien entre elles pour diffuser une charge utile JavaScript appelée x.js. Le NVD attribue 7,2 aux deux failles (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N), alors que The Hacker News indique 7,1 pour chacune.
- WPC Product Bundles for WooCommerce, CVE-2026-93836 : les versions jusqu'à la 8.6.6 sont concernées, et la 8.6.7 corrige le problème. Le point d'entrée est le paramètre
qty. La validation de la quantité convertit la valeur en nombre à virgule, de sorte qu'une chaîne commençant par un chiffre passe tout en conservant son HTML. Ce balisage est ensuite stocké tel quel dans les métadonnées des articles de commande, sous la clé_woosb_ids. - Ninja Forms, CVE-2026-94504 : la version 3.15.3 est concernée, et la 3.15.4 la corrige. Le texte envoyé de manière anonyme via une zone de texte non RTE est affiché sans encodage HTML sûr dans l'éditeur de soumissions hérité. Le script s'exécute dans l'origine de l'administration WordPress lorsqu'un administrateur ouvre l'URL de soumission directe connue de l'attaquant.
Patchstack décrit x.js comme un implant post-exploitation qui s'exécute dans le navigateur d'un administrateur connecté. Il emprunte la session wp-admin de cette personne pour installer une extension malveillante, ajouter un nouvel administrateur, déclencher un mécanisme de persistance supplémentaire et caché, et transmettre les résultats à une infrastructure contrôlée par l'attaquant.
The Hacker News indique que l'extension implantée dispose d'un gestionnaire de fichiers non authentifié, accessible par une requête directe vers son fichier PHP principal. Elle crée aussi un administrateur masqué de l'écran des utilisateurs, ainsi qu'une « URL de connexion magique » qui connecte son détenteur en tant que plus ancien administrateur du site.
La mise à jour des deux extensions empêche toute nouvelle exploitation, mais ne supprime pas une infection déjà en place, précise l'article. Il conseille aux propriétaires d'interroger directement la base de données pour repérer les administrateurs cachés, de vérifier le répertoire des extensions à usage obligatoire (must-use) et d'examiner les journaux du serveur web.
Les chiffres du deuxième trimestre 2026 selon Wordfence
L'article relaie aussi les données de Wordfence pour le deuxième trimestre 2026. Elles recensent 2 073 vulnérabilités WordPress publiées, dont 182 à haut risque, soit une hausse de 15,2 % par rapport au trimestre précédent. Environ 573 000 sites WordPress ont été compromis sur la période, un chiffre à l'échelle de la plateforme qui ne concerne pas spécifiquement Bricksforge.
Les cinq vulnérabilités les plus ciblées dans ces données :
| CVE | CVSS | Produit et versions concernées | Type |
|---|---|---|---|
| CVE-2024-28000 | 9.8 | LiteSpeed Cache ≤ 6.3.0.1 | Attribution incorrecte de privilèges ; élévation de privilèges sans authentification |
| CVE-2019-9879 | 9.8 | WPGraphQL ≤ 0.2.3 | Création d'utilisateurs administrateurs via la mutation registerUser |
| CVE-2016-15042 | 9.8 | Frontend File Manager < 4.0 ; N-Media Post Front-end Form < 1.1 | Téléversement de fichiers arbitraires |
| CVE-2023-28121 | 9.8 | WooCommerce Payments 4.8.0 – 5.6.1 | Contournement d'authentification et élévation de privilèges |
| CVE-2025-3102 | 8.1 | SureTriggers ≤ 1.0.78 | Contournement d'authentification conduisant à la création d'un compte administrateur |
Deux de ces failles dépendent de la configuration du site, selon le NVD. La CVE-2019-9879 s'applique lorsque les inscriptions de nouveaux utilisateurs sont autorisées. La CVE-2025-3102 s'applique lorsque l'extension est active mais qu'aucune clé API n'est configurée.
La plupart des adresses IP attaquantes proviennent des États-Unis, suivis de l'Allemagne, de la Tchéquie, de l'Australie, de la Norvège, de la France, de l'Ukraine, des Pays-Bas, de la Suisse et du Brésil.




