
Les chercheurs en sécurité avertissent que les plugins WordPress « Advanced Custom Fields » et « Advanced Custom Fields Pro », avec des millions d’installations, sont vulnérables aux attaques de script intersite (XSS).
Les deux plugins font partie des générateurs de champs personnalisés WordPress les plus populaires, avec 2 000 000 d’installations actives sur des sites du monde entier.
Le chercheur de Patchstack, Rafie Muhammad, a découvert la vulnérabilité XSS reflétée de haute gravité le 2 mai 2023, qui a reçu l’identifiant CVE-2023-30777.
Les bogues XSS permettent généralement aux attaquants d’injecter des scripts malveillants sur des sites Web consultés par d’autres, entraînant l’exécution de code sur le navigateur Web du visiteur.
Patchstack indique que la faille XSS pourrait permettre à un attaquant non authentifié de voler des informations sensibles et d’élever ses privilèges sur un site WordPress impacté.
« Notez que cette vulnérabilité pourrait être déclenchée sur une installation ou une configuration par défaut du plugin Advanced Custom Fields », explique Patchstack dans le bulletin.
« Le XSS ne peut également être déclenché qu’à partir d’utilisateurs connectés ayant accès au plug-in Advanced Custom Fields. »
Cela signifie que l’attaquant non authentifié devrait toujours faire appel à une personne ayant accès au plug-in pour visiter une URL malveillante afin de déclencher la faille.
Le développeur du plugin a été informé du problème lors de la découverte de Patchstack et a publié une mise à jour de sécurité le 4 mai 2023, dans la version 6.1.6.
La faille XSS
La faille CVE-2023-30777 provient du gestionnaire de fonction ‘admin_body_class’, qui n’a pas réussi à nettoyer correctement la valeur de sortie d’un crochet qui contrôle et filtre les classes CSS (conception et mise en page) pour la balise de corps principal dans la zone d’administration de WordPress des sites.

Un attaquant peut exploiter une concaténation de code directe non sécurisée sur le code du plug-in, en particulier la variable ‘$this→view’, pour ajouter du code nuisible (charges utiles DOM XSS) dans ses composants qui seront transmis au produit final, une chaîne de classe.
La fonction de nettoyage utilisée par le plugin, ‘sanitize_text_field,’ n’arrêtera pas l’attaque car elle n’attrapera pas l’injection de code malveillant.

Le développeur a corrigé la faille dans la version 6.1.6 en implémentant une nouvelle fonction nommée ‘esc_attr’ qui nettoie correctement la valeur de sortie du crochet admin_body_class, empêchant ainsi le XSS.
Tous les utilisateurs de ‘Advanced Custom Fields’ et ‘Advanced Custom Fields Pro’ sont invités à passer à la version 6.1.6 ou ultérieure dès que possible.
D’après les statistiques de téléchargement de WordPress.org, 72,1 % des utilisateurs du plugin utilisent encore des versions inférieures à 6.1, qui sont vulnérables à XSS et à d’autres failles connues.