Le 31 octobre 2026, NVD a publié sept CVE critiques dans des extensions WordPress, toutes signalées par Wordfence. Quatre sont notées 9.8, trois 9.1. Le motif qui revient : un nonce censé protéger une action, mais imprimé dans les pages publiques ou distribué par un endpoint anonyme. Le contrôle existe sur le papier, il ne filtre personne.
| Extension | CVE | Classe | CVSS 3.1 | Bornes NVD |
|---|---|---|---|---|
| SimpleForm | CVE-2026-118235 | Upload de fichier arbitraire | 9.8 | jusqu'à 3.10.2 incluse |
| Project Manager (weDevs) | CVE-2026-116512 | Exécution de code à distance | 9.8 | jusqu'à 4.1.1 incluse |
| PDF Invoice for WooCommerce | CVE-2026-109220 | Injection d'objet PHP | 9.8 | jusqu'à 7.1.1 incluse |
| Uncanny Toolkit for LearnDash | CVE-2026-119096 | Contournement d'authentification | 9.8 | jusqu'à 3.8.2 incluse |
| Acadlix LMS | CVE-2026-103882 | Suppression de fichier arbitraire | 9.1 | jusqu'à 1.1.9 incluse |
| Popup Builder | CVE-2026-89270 | Contournement d'autorisation | 9.1 | jusqu'à 4.4.5 incluse |
| WP Booking System | CVE-2026-116557 | Contrôle d'autorisation manquant | 9.1 | jusqu'à 2.1.0.5 incluse |
Les scores sont ceux de Wordfence (CNA). Vecteur AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H pour les 9.8, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H pour les 9.1. Les sept sont au statut NVD Received (pas encore analysées) et aucune n'est au CISA KEV à la date de rédaction. Les bornes viennent de la description : NVD ne nomme pas la version corrigée. Vérifie le journal des modifications de l'extension avant de considérer une version comme sûre.
SimpleForm — CVE-2026-118235
Constructeur de formulaires. La fonction handle_upload dérive l'extension du fichier avant de nettoyer son nom : un nom terminé par un point contourne toutes les vérifications d'extension et de type MIME. Un visiteur anonyme peut déposer un fichier exécutable, donc exécuter du code.
Condition d'exposition : une page qui affiche un formulaire SimpleForm. Le seul contrôle est un nonce présent dans l'attribut data-nonce de chaque formulaire public.
Action : passer au-delà de 3.10.2 ; à défaut, retirer les formulaires avec champ de fichier ou désactiver l'extension.
Project Manager — CVE-2026-116512
Gestion de projet et tableau Kanban de weDevs. Le paramètre id est concaténé dans une chaîne de règles de validation, découpée ensuite en noms de fonctions PHP appelés dynamiquement, sans liste blanche. Résultat : exécution de code sans authentification.
Le détail qui rend la faille anonyme : le cœur de WordPress exécute le validate_callback d'une route REST avant son permission_callback. Le contrôle de droits de l'extension n'est jamais atteint sur ce chemin.
Action : passer au-delà de 4.1.1. Pas de contournement simple : l'API REST est publique par défaut.
PDF Invoice for WooCommerce — CVE-2026-109220
Génération de factures PDF. Le champ « note client » du paiement est inséré tel quel dans le HTML de la facture, retransformé en balise par simplehtmldom, puis passé à unserialize() par mPDF : injection d'objet PHP menant à l'exécution de code, sans compte.
Condition d'exposition : une boutique qui accepte le virement bancaire ou le chèque. Une commande anonyme via l'API Store de WooCommerce passe automatiquement « en attente » et déclenche la génération de facture.
Action : mettre à jour (les références NVD pointent vers une archive 7.2.0 de l'extension). En attendant, désactiver ces moyens de paiement ou l'extension.
Uncanny Toolkit for LearnDash — CVE-2026-119096
Boîte à outils pour LearnDash. Le contrôle de vérification de compte cherche l'utilisateur avec l'adresse brute, alors que la connexion s'appuie sur la version nettoyée par WordPress. Avec des caractères parasites ajoutés à l'adresse, le contrôle échoue et est ignoré, mais la connexion aboutit.
Limite importante : l'attaquant doit déjà connaître les identifiants du compte visé. La faille ne vole pas de mot de passe : elle neutralise l'approbation et la suspension de comptes. Un compte suspendu par un administrateur redevient utilisable. Le 9.8 de Wordfence peut surprendre au vu de cette condition.
Action : passer au-delà de 3.8.2, et changer le mot de passe des comptes suspendus pour compromission.
Acadlix LMS — CVE-2026-103882
Quiz et cours en ligne. Une route REST supprime des fichiers sans valider leur chemin : suppression de fichier arbitraire. Supprimer wp-config.php relance l'assistant d'installation, ce qui ouvre la voie à une prise de contrôle.
Sur le papier il faut un compte abonné, mais la route ne vérifie qu'un nonce REST générique que l'extension publie sur chaque page publique. Selon la description, l'exigence d'authentification tombe de fait.
Action : passer au-delà de 1.1.9 ou désactiver l'extension.
Popup Builder — CVE-2026-89270
Fenêtres pop-up marketing. Une seule requête GET anonyme envoie toutes les pop-ups publiées à la corbeille, à cause d'un contrôle d'autorisation absent et d'un second défaut dans SGPopup::find(). Impact : intégrité et disponibilité, pas de fuite de données ni d'exécution de code.
Action : passer au-delà de 4.4.5. Les pop-ups sont récupérables depuis la corbeille si elles n'ont pas été vidées.
WP Booking System — CVE-2026-116557
Calendrier de réservation. Un contrôle de droits manque sur la suppression des notes de calendrier : un compte abonné peut supprimer celles de n'importe quel calendrier.
À noter : la description exige un compte abonné alors que le vecteur publié par Wordfence indique PR:N, et l'impact décrit (suppression de notes) paraît limité au regard du 9.1. Traite-la après les six autres.
Action : passer au-delà de 2.1.0.5, et fermer l'inscription publique si elle n'est pas utile.
Détection
- Fichiers PHP dans
wp-content/uploads/: il ne doit y en avoir aucun (SimpleForm, PDF Invoice). - Commandes WooCommerce anonymes en attente avec une note client contenant du HTML ou des caractères inhabituels.
- Requêtes vers l'API REST des extensions concernées depuis des IP inconnues, en particulier sur Project Manager et Acadlix.
wp-config.php: présence et date de modification ; un site qui affiche l'écran d'installation est un incident.- Connexions de comptes suspendus ou non approuvés sur un site LearnDash.
- Pop-ups à la corbeille sans action d'un administrateur.
Pour une vague comparable, voir notre article sur six extensions critiques d'octobre 2026.
Mitigation générale
- Inventorier les sites qui utilisent l'une de ces sept extensions (
wp plugin listsur chaque instance). - Mettre à jour au-delà des bornes NVD dès que l'éditeur publie un correctif ; sinon désactiver l'extension.
- Bloquer l'exécution de PHP dans
wp-content/uploads/au niveau du serveur web. - Rendre
wp-config.phpnon modifiable par l'utilisateur du serveur web et garder une sauvegarde récente du site. - En cas de doute : réinitialiser les mots de passe administrateur, changer les clés et sels de
wp-config.php, auditer les fichiers récemment modifiés.
Pourquoi surveiller en continu tes extensions WordPress
Sept extensions, sept mécanismes, et pour la plupart une protection qui n'en était pas une. Sur un parc de sites, la seule question utile est « quel site utilise quelle extension, dans quelle version », et il faut y répondre avant que les scans ne commencent.
Avec cveo.tech, recense tes extensions WordPress avec leur version et reçois une alerte dès qu'une CVE critique les touche.