CritiqueCVE-2026-103039 · 9.8 (Wordfence, CNA)

CVE-2026-103039 : Gravity Forms, injection PHP à 9,8

Injection d'objets PHP non authentifiée dans Gravity Forms jusqu'à la 3.1.2, notée 9,8. Les microsites hôteliers sont exposés. Correctif 3.1.3 et audit.

2 novembre 20263 min de lecture

Qui est touché

  • Gravity Forms pour WordPress, toutes versions jusqu'à 3.1.2 inclus
  • Formulaires créant des billets avec un champ personnalisé de type liste (demandes de devis, réservations événementielles)
  • Microsites hôteliers hébergeant formulaires de contact, mariage, groupes ou spa sous Gravity Forms

Comment corriger

Mettre à jour Gravity Forms vers la version 3.1.3 ou plus récente, publiée début octobre; c'est la seule correction disponible. Passer ensuite en revue les formulaires qui créent des publications avec un champ personnalisé de type liste et un gabarit de contenu, configuration qui rend le chemin vulnérable atteignable. Rechercher dans les métadonnées de publication et le contenu des pages des traces d'injection antérieures au correctif, et vérifier l'apparition de comptes administrateurs ou de fichiers inattendus, signe qu'une chaîne d'exploitation fournie par un autre plugin ou thème a été utilisée.

Ce qui s'est passé

Wordfence, qui agit comme autorité de numérotation pour cette faille, a publié le 29 octobre 2026 une vulnérabilité d'injection d'objets PHP dans Gravity Forms, notée 9,8 en CVSS 3.1. La cause est identifiée avec précision: la méthode GFFormsModel::create_post() transmet la valeur soumise dans un champ personnalisé de type liste à la fonction globale maybe_unserialize() de WordPress, sans restriction de classes, au lieu de la version durcie du plugin (GFCommon::maybe_unserialize(), ajoutée en 3.1.1). Un visiteur non authentifié peut donc loger un objet PHP dans les métadonnées d'une publication. Toutes les versions jusqu'à 3.1.2 inclus sont concernées, le correctif 3.1.3 étant disponible depuis début octobre sans que l'avis éditeur ne nomme la CVE.

Pourquoi c'est important pour un hôtel

Gravity Forms équipe une large part des microsites hôteliers: demandes de devis, formulaires mariage et groupes, réservations de spa ou de restaurant. Le plugin ne contient pas lui-même de chaîne d'exploitation, un objet injecté ne fait donc rien tout seul; mais si un autre plugin ou le thème du site en fournit une, ou sur les hébergements qui laissent certaines options ouvertes (installation PEAR lisible, register_argc_argv activé), l'injection devient exécution de code à distance. C'est la même famille de faiblesse que la salve php2shell de ces dernières semaines: la désérialisation de donnée visiteur sans garde-fou, sur des sites publics sans processus de correctif.

Qui est touché

Gravity Forms toutes versions jusqu'à 3.1.2, avec une exposition pleine lorsque le site contient un formulaire qui crée des publications via un champ personnalisé de type liste et un gabarit de contenu activé. Les deux réglages ne sont pas visibles de l'extérieur: l'administrateur doit les vérifier dans l'interface du plugin. À ce stade, aucune exploitation confirmée n'est publiée par la CISA; un suivi indépendant signale des tentatives dès le 30 octobre, à traiter comme un signal d'accélération plutôt que comme une preuve.

Comment corriger

  1. Mettre à jour Gravity Forms vers 3.1.3 ou plus récent, puis confirmer le numéro de version exact dans l'interface.
  2. Inventorier les formulaires qui créent des publications avec un champ de type liste et désactiver le gabarit de contenu si le besoin métier est discutable.
  3. Auditer les métadonnées de publication et les pages créées depuis fin septembre: contenu sérialisé inattendu, brefs changements inexpliqués.
  4. Rechercher les signes d'exploitation plus larges: nouveaux comptes administrateurs, fichiers dans wp-content, tâches planifiées inconnues. En cas de doute, considérer le site compromis et repartir d'une sauvegarde antérieure saine.
  5. Profiter de l'intervention pour inventorier les autres extensions et thèmes du microsite, et noter leur politique de mise à jour.

Contexte

La faille s'inscrit dans une semaine noire pour la couche formulaires et thèmes de WordPress: une fournée de CVE d'injection d'objet non authentifiée, la plupart notées 9,8, a été publiée les 29 et 30 octobre, quelques jours après la vague de tentatives contre le canal de mise à niveau du cœur. Pour l'hôtellerie, le constat se répète: le microsite, jamais patché, est le point d'entrée le plus fragile de l'établissement, et il touche les données des clients avant celles du système de gestion hôtelière.

Sources

  1. 1.NVD, CVE-2026-103039
  2. 2.CVE.org, enregistrement CVE-2026-103039 (CNA Wordfence)
  3. 3.Censys, advisory CVE-2026-103039 (30 octobre 2026)