Due falle critiche nei plugin WordPress possono portare al controllo completo dei siti
Vulnérabilités

Image d’illustration générée par IA

Deux failles critiques dans des plugins WordPress peuvent entraîner la prise de contrôle complète des sites

Deux failles critiques dans les plugins WordPress Forminator et User Profile Builder permettent une prise de contrôle complète des sites. Mettez à jour immédiatement.

Texte généré par intelligence artificielle, publié sans relecture humaine. Transparence IA

Forminator permet de téléverser des fichiers PHP sans authentification

Deux vulnérabilités critiques ont été signalées dans des plugins WordPress très répandus. La première concerne Forminator Forms, installé sur plus de 600 000 sites, et identifiée comme CVE-2026-15748.

La faille affiche un score CVSS de 9,8/10,0 et affecte toutes les versions jusqu’à la 1.56.1 incluse. Le problème a été corrigé dans la version 1.56.2, publiée le 31 juillet 2026.

Identifiée par le chercheur connu sous le pseudonyme « daroo », la vulnérabilité permet à un attaquant non authentifié de téléverser des fichiers arbitraires via un formulaire public. Ces fichiers peuvent notamment être des scripts PHP, ce qui peut conduire à l’exécution de code à distance.

Le site doit toutefois contenir un formulaire réunissant précisément les éléments suivants :

  • un champ File Upload ;
  • un champ Select.

En l’absence de ces deux éléments, le scénario d’attaque décrit ne semble pas applicable.

Comment la validation des téléversements est contournée

Le défaut se situe dans la fonction handle_file_upload(), qui gère le téléversement des fichiers. La vérification du type de fichier ne contrôle pas de manière suffisamment robuste toutes les valeurs fournies par l’utilisateur.

Le blocage des extensions dangereuses repose en effet sur une correspondance exacte des clés. Un attaquant peut contourner ce contrôle en fournissant des clés MIME alternatives séparées par des barres verticales, ce qui amène le plugin à accepter un fichier qui devrait être refusé.

Le gestionnaire public du formulaire s’appuie également sur la configuration du champ de téléversement. Cette configuration peut être modifiée à l’aide d’une valeur Select falsifiée, sans qu’un compte soit nécessaire.

Concrètement, l’attaquant peut envoyer le formulaire vulnérable et déposer sur le serveur un fichier PHP spécialement conçu. Si le serveur l’interprète comme du code, il peut exécuter des commandes avec les privilèges du processus web, modifier le contenu du site, altérer sa configuration ou créer de nouveaux accès administrateur.

La configuration par défaut offre une protection partielle : les fichiers sont normalement placés dans un répertoire contenant un fichier .htaccess qui empêche l’exécution de PHP. Le risque augmente lorsque l’administrateur définit une racine personnalisée pour le stockage des téléversements.

Dans ce scénario, le fichier .htaccess peut ne pas être créé correctement. L’helper WordPress nécessaire à l’écriture du fichier n’est pas disponible au moment du traitement de la requête. Une requête directe ultérieure vers le fichier téléversé peut alors amener le serveur web à exécuter le code PHP contrôlé par l’attaquant.

User Profile Builder permet de s’authentifier en tant que l’utilisateur 1

La seconde vulnérabilité concerne User Profile Builder, présent sur plus de 40 000 installations, et identifiée comme CVE-2026-15826.

La faille affiche un score CVSS de 9,8, avec le vecteur CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Elle a été corrigée dans la version 3.16.5, publiée le 16 juillet 2026.

Les indications concernant les versions vulnérables ne sont pas parfaitement homogènes : une description signale toutes les versions antérieures, tandis que la fiche NVD disponible indique comme vulnérables les versions jusqu’à la 3.16.4 incluse. Dans les deux cas, la mesure à prendre consiste à effectuer la mise à jour vers la 3.16.5.

Le défaut est un contournement de l’authentification dû à une confusion de type dans la fonction wppb_log_in_user().

Le rôle des noms d’utilisateur longs et de absint()

L’exploitation repose sur l’enregistrement d’un nom d’utilisateur compris entre 61 et 70 caractères. WordPress refuse l’enregistrement et renvoie un objet WP_Error.

Le plugin applique toutefois d’abord absint() au résultat de wp_insert_user() et ne vérifie qu’ensuite si ce résultat est une erreur. La conversion force l’objet à devenir l’entier 1, empêchant le contrôle is_wp_error() d’interrompre correctement le flux d’exécution.

Le plugin associe alors à la requête un nonce d’autoconnexion stocké via un transient et lié à l’utilisateur portant l’ID 1. Dans une configuration WordPress standard, cet utilisateur correspond généralement à l’administrateur principal.

La condition requise est que l’option Automatically Log In soit activée dans le plugin. Lorsque cette option est active, un attaquant non authentifié peut obtenir un accès en tant qu’utilisateur 1, en contournant le processus d’authentification normal.

L’impact peut inclure un accès administrateur complet, la modification du site, l’installation de code, la modification des comptes et la prise de contrôle de l’ensemble de l’installation WordPress.

Ce que doivent faire les administrateurs

La priorité consiste à mettre à jour les deux plugins :

  • Forminator Forms vers la version 1.56.2 ou ultérieure ;
  • User Profile Builder vers la version 3.16.5 ou ultérieure.

Après la mise à jour, il est recommandé de vérifier qu’aucune copie obsolète, installation de test ou environnement secondaire n’est encore exposé à Internet.

Pour Forminator, il faut recenser les formulaires combinant les champs File Upload et Select, puis revoir la configuration Custom File Upload Storage root. Il est également conseillé d’examiner les fichiers récemment téléversés, en recherchant notamment des fichiers PHP inattendus, des extensions inhabituelles et des requêtes web visant directement les répertoires de téléversement.

Les journaux peuvent aider à repérer :

  • des requêtes POST vers des formulaires publics ;
  • des téléversements de fichiers PHP ou à doubles extensions ;
  • des accès ultérieurs aux fichiers récemment téléversés ;
  • des requêtes inhabituelles vers des répertoires de stockage personnalisés.

Pour User Profile Builder, il faut vérifier l’état de l’option Automatically Log In, qui doit rester désactivée lorsqu’elle n’est pas indispensable. Les administrateurs devraient également contrôler les nouveaux comptes, les modifications de profils, les connexions associées à l’utilisateur portant l’ID 1, les nonces suspects ainsi que les changements récents apportés aux plugins, aux thèmes et à la configuration.

Pour CVE-2026-15826, les données examinées ne contiennent aucune information confirmant son ajout au catalogue CISA KEV, ni aucune date d’ajout ou échéance. Pour CVE-2026-15748, aucun statut KEV, vecteur CVSS officiel de la NVD ni autre métadonnée NVD ne semble non plus disponible.

Les deux failles ont été découvertes le 17 août 2026. Toutes deux sont exploitables sans authentification et, lorsque leurs prérequis respectifs sont réunis, peuvent conduire à la compromission complète du site.

À lire aussi

Sources

Cet article est une réécriture originale fondée sur les sources ci-dessous.

CVE traitées dans cet article

Sujets liésWordPressfailles de sécuritépluginsForminatorUser Profile Builderprise de contrôlemise à jour
Retour à l'accueil