Une vulnérabilité dans WPForms, un plugin WordPress utilisé dans plus de 6 millions de sites Web, pourrait permettre aux utilisateurs au niveau abonné d’émettre des remboursements Stripe arbitraires ou d’annuler des abonnements.
Suivie sous CVE-2024-11205, la faille a été classée comme problème de haute gravité en raison de la condition préalable d’authentification. Cependant, étant donné que des systèmes d’adhésion sont disponibles sur la plupart des sites, leur exploitation peut être assez simple dans la plupart des cas.
Le problème affecte WPForms à partir de la version 1.8.4 et jusqu’à 1.9.2.1, avec un correctif intégré à la version 1.9.2.2, publiée le mois dernier.
WPForms est un générateur de formulaires WordPress par glisser-déposer facile à utiliser permettant de créer des formulaires de contact, de commentaires, d’abonnement et de paiement, offrant une prise en charge de Stripe, PayPal, Square et autres.
Le plugin est disponible en version premium (WPForms Pro) et en édition gratuite (WPForms Lite). Ce dernier est actif sur plus de six millions de sites WordPress.
La vulnérabilité provient d’une utilisation incorrecte de la fonction « wpforms_is_admin_ajax() » pour déterminer si une requête est un appel AJAX d’administrateur.
Bien que cette fonction vérifie si la demande provient d’un chemin d’administrateur, elle n’applique pas de contrôle de capacité pour restreindre l’accès en fonction du rôle ou des autorisations de l’utilisateur.
Cela permet à tout utilisateur authentifié, même aux abonnés, d’invoquer des fonctions AJAX sensibles telles que « ajax_single_payment_refund() », qui exécute les remboursements Stripe, et « ajax_single_payment_cancel() », qui annule les abonnements.
Les conséquences de CVE-2024-11205 l’exploitation pourrait être grave pour les propriétaires de sites Web, entraînant une perte de revenus, une interruption des activités et des problèmes de confiance avec leur clientèle.
Correctif disponible
La faille a été découverte par le chercheur en sécurité « vullu164 », qui l’a signalée à Clôture de motsdu programme bug bounty de pour un paiement de 2 376 $ le 8 novembre 2024.
Wordfence a ensuite validé le rapport et confirmé l’exploit fourni, en envoyant tous les détails au fournisseur, Awesome Motive, le 14 novembre.
Le 18 novembre, Awesome Motive a publié la version corrigée 1.9.2.2, ajoutant des contrôles de capacité et des mécanismes d’autorisation appropriés dans les fonctions AJAX concernées.
D’après wordpress.org statistiquesenviron la moitié de tous les sites utilisant WPForms ne sont même pas sur la dernière branche de version (1.9.x), donc le nombre de sites Web vulnérables est d’au moins 3 millions.
Wordfence n’a pas encore détecté d’exploitation active de CVE-2024-11205 dans la nature, mais il est recommandé de passer à la version 1.9.2.2 dès que possible ou de désactiver le plugin de votre site.