Ce qui se passe
CVE-2026-85097, notée CVSS 10,0, touche Bricksforge, une extension WordPress qui ajoute animations, formulaires avancés et séquences vidéo au constructeur de pages Bricks. Un visiteur sans compte peut y téléverser du code PHP et le faire exécuter par le serveur.
Patchstack a détecté les premières tentatives le 7 octobre 2026, à 21 h 47 UTC. Le Hacker News relaie l'alerte le 12 octobre, adossée aux avis de Patchstack et de Wordfence.
- touchées : toutes les versions jusqu'à 3.1.8.9 incluse ;
- corrigée : 3.1.8.10. L'article mentionne aussi la 4.0.1 comme dernière version : contrôlez le journal des versions de l'éditeur.
Le mécanisme
Le plugin contrôle bien le type du fichier au téléversement. Le défaut est plus
loin : quand le formulaire est soumis, il fait confiance aux métadonnées envoyées
par le client et ne vérifie pas le champ url du paramètre
temporaryFileUploads.
- L'attaquant demande un nonce valide au point d'entrée AJAX
bricksforge_regenerate_nonce, accessible sans authentification. - Il téléverse un polyglotte GIF/PHP : une vraie image, qui contient aussi du code PHP. Le contrôle de type l'accepte, le fichier atterrit dans le dossier temporaire.
- Il soumet un formulaire où
filedésigne ce GIF validé, mais oùurlse termine par une extension PHP. - Le plugin place le contenu à l'emplacement de l'
url. La requête suivante sur ce fichier exécute le code.
{
"temporaryFileUploads": [{
"field": "form-field-file",
"file": {
"file": ".../uploads/bricksforge/tmp/img_example.gif",
"url": ".../uploads/bricksforge/tmp/img_example.php",
"type": "image/gif"
}
}]
}Le contrôle porte sur un chemin, l'écriture sur un autre : c'est l'écart que l'attaquant exploite.
Ce que font les attaquants
Les requêtes visent /wp-json/bricksforge/v1/form_submit, ou
/wp-admin/admin-ajax.php avec l'action bricksforge_form_submit. Pour passer
les filtres d'extension, elles essaient .php5, .php7, .phtml, des
variantes de casse (.PHP, .pHp) et des encodages (.%70hp, %2ephp,
.%2570%2568%2570).
Patchstack compte 63 adresses sources. Deux grappes ressortent : 44 adresses ont envoyé 56 requêtes identiques à quelques secondes d'écart, et trois autres ont essayé 25 variantes d'extension sur un même fichier temporaire. Six adresses portent environ 46 % du trafic :
177.75.57[.]2023.97.62[.]14684.247.60[.]12538.154.185[.]97150.109.16[.]166153.75.90[.]146
Patchstack ne rattache pas l'activité à un acteur unique.
Comment s'y prendre
- Mettre à jour Bricksforge vers la 3.1.8.10 ou plus.
- Chercher des fichiers PHP dans
/wp-content/uploads/bricksforge/tmp/. - Rechercher dans les journaux d'accès les appels à
/wp-json/bricksforge/v1/form_submitqui contiennenttemporaryFileUploads, et les soumissions répétées.
Le correctif empêche l'attaque suivante, il ne retire pas un fichier déjà déposé : un site touché est à traiter comme compromis.
Deux autres extensions exploitées
Le même article signale une campagne de scripts intersites contre WPC Product
Bundles for WooCommerce (CVE-2026-93836, CVSS 7,1, corrigée en 8.6.7) et
Ninja Forms (CVE-2026-94504, CVSS 7,1, corrigée en 3.15.4). Le script
x.js installe une extension de porte dérobée et crée un administrateur masqué.
Là aussi, la mise à jour n'élimine pas une infection : chercher les
administrateurs cachés directement en base, vérifier le dossier des extensions
« must-use » et relire les journaux du serveur.
Source : Attackers Exploit CVSS 10.0 Bricksforge WordPress Flaw Enabling Unauthenticated RCE, The Hacker News, 12 octobre 2026. Analyses citées : Patchstack · Wordfence.