En bref

  • CVE-2026-118423 (CVSS 10.0, CWE-434) : le plugin WordPress WP Libre Form ≤ 1.5.0.1 permet à tout visiteur anonyme d'uploader un fichier PHP et d'exécuter du code arbitraire sur le serveur
  • Un proof-of-concept public est disponible ; le plugin a été retiré de WordPress.org le 8 septembre 2026, aucune version corrigée n'existe
  • Action urgente : désinstaller WP Libre Form immédiatement et remplacer par une alternative patchée

Les faits

Le 6 novembre 2026, la vulnérabilité CVE-2026-118423 a été officiellement publiée dans la base NVD/NIST, assignée par WPScan (CNA) avec un score CVSS 3.1 de 10.0 (vecteur AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H). Elle affecte le plugin WordPress WP Libre Form dans toutes ses versions jusqu'à 1.5.0.1 incluse. La faille est de type téléchargement de fichier sans restriction de type (CWE-434, Unrestricted Upload of File with Dangerous Type), et son exploitation conduit directement à l'exécution de code arbitraire à distance (RCE) sans aucune authentification préalable.

Mécanisme d'exploitation : WP Libre Form est un plugin de gestion de formulaires de contact pour WordPress. Il expose un gestionnaire AJAX public — wplf_submit — accessible via le endpoint /wp-admin/admin-ajax.php sans aucune vérification d'authentification. Ce gestionnaire traite les soumissions de formulaires et permet aux utilisateurs d'envoyer des pièces jointes. La faille réside dans l'absence totale de validation du type MIME et de l'extension des fichiers uploadés. Le plugin fait appel à la fonction WordPress sanitize_file_name(), mais cette fonction ne supprime pas l'extension .php — elle se contente de nettoyer les caractères spéciaux dans le nom de fichier. En conséquence, un attaquant peut soumettre un fichier nommé shell.php contenant un webshell PHP, qui sera stocké dans le répertoire d'upload de WordPress (wp-content/uploads/) et directement accessible via le serveur web. Une simple requête HTTP GET sur l'URL du fichier uploadé suffit ensuite à exécuter le code malveillant avec les droits du processus web (www-data, apache, nginx ou équivalent).

Proof-of-concept public : Le laboratoire Sable Research a publié un PoC d'exploitation complet sur GitHub le 6 novembre 2026. Ce PoC démontre l'exploitation en cinq requêtes HTTP : identification du formulaire, construction du payload PHP, soumission via wplf_submit, récupération du chemin d'upload depuis la réponse JSON et exécution via GET. La communauté de sécurité offensive a rapidement répertorié ce PoC sur Sploitus, le rendant accessible à des acteurs de faible sophistication. Le délai entre publication et exploitation active est donc à considérer comme minimal.

Retrait du plugin de WordPress.org : WP Libre Form avait déjà été retiré du dépôt officiel WordPress.org le 8 septembre 2026, soit deux mois avant la publication officielle de la CVE. Cette décision est intervenue suite à la signalisation de la vulnérabilité à l'équipe de sécurité de WordPress. Cependant, le retrait d'un plugin du dépôt n'implique pas sa désinstallation automatique sur les sites existants. Les sites WordPress qui avaient installé WP Libre Form avant le 8 septembre restent vulnérables et ne reçoivent plus de mises à jour automatiques depuis WordPress.org. Il n'existe aucune version corrigée disponible.

Surface d'attaque : WP Libre Form était activement maintenu et proposait des fonctionnalités de formulaire de contact flexibles très appréciées des développeurs WordPress. Les données de téléchargement indiquent une base d'installations significative au moment du retrait. Tout site WordPress ayant installé le plugin avant septembre 2026 et ne l'ayant pas supprimé manuellement est potentiellement compromis. L'exploitation est triviale : elle ne nécessite aucun compte WordPress, aucune connaissance de la configuration du site, et peut être automatisée via un simple script.

Impact serveur : Une fois le webshell PHP en place, l'attaquant dispose d'un accès persistant au serveur. Les actions possibles incluent : lecture et exfiltration du fichier wp-config.php (contenant les identifiants de base de données), accès complet à la base de données MySQL, déploiement de crypto-miners, installation de backdoors supplémentaires, défiguration du site, utilisation du serveur comme relais pour des attaques vers d'autres systèmes (pivot). Dans les environnements mutualisés ou les clusters Kubernetes, la compromission peut s'étendre au-delà du site WordPress initial.

Comparaison avec d'autres vulnérabilités WordPress récentes : Cette CVE s'inscrit dans une tendance d'upload arbitraire via des plugins de formulaire WordPress. Des failles similaires ont affecté Contact Form 7 (CVE-2020-35489) ou Gravity Forms. La particularité de CVE-2026-118423 est son score CVSS maximal (10.0) dû à l'absence totale de pré-condition : aucun rôle utilisateur, aucune configuration spéciale, aucune connaissance préalable ne sont requis. Selon le CERT-FR et WPScan, c'est l'une des vulnérabilités WordPress les plus critiques de l'année 2026 par son niveau d'exploitabilité.

Pas de correctif disponible : Le développeur de WP Libre Form n'a pas publié de version corrigée. La recommandation de l'équipe de sécurité WordPress et de WPScan est sans équivoque : le plugin doit être désinstallé et ne doit pas être réinstallé tant qu'une version corrigée n'est pas disponible. La migration vers une alternative comme WPForms, Contact Form 7 (version patchée) ou Gravity Forms est conseillée.

Impact et exposition

Tout site WordPress utilisant WP Libre Form ≤ 1.5.0.1 est vulnérable à une prise de contrôle complète du serveur web par n'importe quel utilisateur anonyme sur Internet. L'exploitation ne requiert aucune authentification, aucune connaissance préalable de la configuration du site et peut être entièrement automatisée. La simple présence du plugin actif et d'un formulaire publié utilisant les fonctionnalités d'upload suffit.

Les sites e-commerce WordPress (WooCommerce), les sites d'associations ou de médias utilisant des formulaires de dépôt de fichiers pour les contributions, les portails RH acceptant des CV ou des dossiers sont les environnements les plus exposés. Dans ces contextes, les formulaires d'upload constituent une fonctionnalité centrale justifiant l'utilisation du plugin, ce qui augmente la probabilité que la fonctionnalité vulnérable soit active et accessible publiquement.

La disponibilité d'un PoC public sur GitHub et Sploitus signifie que des outils d'exploitation automatisés existent déjà ou émergent en ce moment dans des kits d'attaque. Des acteurs malveillants qui scannent massivement les sites WordPress pour des plugins vulnérables (technique de mass exploitation) peuvent détecter la présence de WP Libre Form via l'analyse des assets JavaScript ou des endpoints exposés.

L'absence de patch et le retrait du plugin du dépôt officiel signifient également que les gestionnaires de sites WordPress ne recevront aucune notification automatique de mise à jour de sécurité via le tableau de bord WordPress. La détection et la remédiation doivent être manuelles.

Recommandations immédiates

  • Désinstaller immédiatement WP Libre Form depuis le tableau de bord WordPress (Extensions > WP Libre Form > Désactiver puis Supprimer)
  • Scanner le répertoire wp-content/uploads/ pour des fichiers .php, .php3, .php4, .php5, .phtml ou .shtml uploadés récemment — indicateurs de compromission potentielle
  • Vérifier les logs du serveur web pour des requêtes POST vers /wp-admin/admin-ajax.php?action=wplf_submit — advisory WPScan CVE-2026-118423 (sans lien externe)
  • Si des fichiers suspects sont trouvés : considérer le serveur comme compromis, isoler et effectuer une analyse forensique complète
  • Configurer la règle WAF pour bloquer l'upload de fichiers .php via admin-ajax.php en attendant la désinstallation
  • Migrer vers WPForms Lite, Contact Form 7 (version ≥ 5.9.8) ou Gravity Forms pour remplacer les formulaires existants
  • Renforcer la configuration du serveur web pour interdire l'exécution PHP dans wp-content/uploads/ (directive Apache/Nginx)

⚠️ Urgence maximale

CVSS 10.0 + PoC public + aucun patch disponible + exploitation triviale : CVE-2026-118423 représente un risque immédiat et non mitigable par un patch. La seule action efficace est la désinstallation du plugin. Si votre site a utilisé WP Libre Form et que vous n'avez pas audité les uploads, considérez que votre serveur est potentiellement compromis et initiez une procédure de réponse à incident.

Comment savoir si mon site est compromis via CVE-2026-118423 ?

Exécutez la commande suivante depuis la racine de WordPress : find wp-content/uploads/ -name "*.php" -o -name "*.phtml" -o -name "*.php5" 2>/dev/null. Tout fichier PHP dans ce répertoire est un indicateur fort de compromission. Vérifiez également vos logs d'accès Apache ou Nginx pour des POST vers admin-ajax.php?action=wplf_submit suivis de GET vers wp-content/uploads/ contenant un fichier PHP.

Votre infrastructure est-elle exposée ?

Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités.

Demander un audit