veilletech.fr
13 oct. Feed du jour
#02 WORDPRESS Article

Bricksforge : un GIF qui s'exécute comme du PHP

Valider le fichier à l'envoi, croire le client à la soumission : la faille tient dans l'écart.

Patchstack observe depuis le 7 octobre l'exploitation de CVE-2026-85097 (CVSS 10,0) dans Bricksforge, une extension WordPress pour Bricks : un visiteur non authentifié peut déposer un fichier PHP et l'exécuter. Les versions jusqu'à 3.1.8.9 sont touchées, 3.1.8.10 corrige. Une mise à jour ne nettoie pas un site déjà compromis.

3 min de lectureintermédiairevidéo 1:20
Partager
Sommaire6 sections
  1. Ce qui se passe
  2. Le mécanisme
  3. Ce que font les attaquants
  4. Comment s'y prendre
  5. Deux autres extensions exploitées
  6. À retenir

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.

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.

  1. L'attaquant demande un nonce valide au point d'entrée AJAX bricksforge_regenerate_nonce, accessible sans authentification.
  2. 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.
  3. Il soumet un formulaire où file désigne ce GIF validé, mais où url se termine par une extension PHP.
  4. Le plugin place le contenu à l'emplacement de l'url. La requête suivante sur ce fichier exécute le code.
JSON
{
  "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 :

Patchstack ne rattache pas l'activité à un acteur unique.

Comment s'y prendre

  1. Mettre à jour Bricksforge vers la 3.1.8.10 ou plus.
  2. Chercher des fichiers PHP dans /wp-content/uploads/bricksforge/tmp/.
  3. Rechercher dans les journaux d'accès les appels à /wp-json/bricksforge/v1/form_submit qui contiennent temporaryFileUploads, 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.