Le 20 mai 2023, notre équipe Wordfence Threat Intelligence a identifié et lancé le processus de divulgation responsable d’une vulnérabilité d’escalade de privilèges dans Plugin ReviewX de WPDeveloper, qui est activement installé sur plus de 10 000 sites Web WordPress. Cette vulnérabilité permet à un attaquant authentifié de s’octroyer des privilèges d’administration via une méta mise à jour utilisateur.

Wordfence Premium, Soins des motset Réponse Wordfence les utilisateurs ont reçu une règle de pare-feu pour se protéger contre tout exploit ciblant cette vulnérabilité le 22 mai 2023. Les sites utilisant encore la version gratuite de Wordfence recevront la même protection le 21 juin 2023.

Nous avons contacté WPDeveloper le 20 mai 2023 et avons reçu une réponse le lendemain. Après avoir fourni tous les détails de la divulgation, le développeur a publié un correctif le 22 mai 2023. Nous tenons à féliciter l’équipe de développement de WPDeveloper pour sa réponse rapide et son correctif opportun, qui a été publié en une seule journée.

Nous exhortons les utilisateurs à mettre à jour leurs sites avec la dernière version corrigée de ReviewX, qui est la version 1.6.14 au moment de la rédaction de cet article, dès que possible.

Résumé des vulnérabilités de Wordfence Intelligence

Le plugin ReviewX pour WordPress est vulnérable à l’escalade de privilèges dans les versions jusqu’à la 1.6.13 incluse en raison d’une restriction insuffisante sur la fonction ‘rx_set_screen_options’. Cela permet à des attaquants authentifiés, avec des autorisations minimales telles qu’un abonné, de modifier leur rôle d’utilisateur via les ‘wp_screen_options[option]’ et ‘wp_screen_options[value]’ lors d’une mise à jour des options d’écran.

Analyse technique

ReviewX est un plugin qui permet principalement aux clients d’ajouter des notes et des avis aux magasins WooCommerce, mais il est également possible de l’utiliser avec des types de publication personnalisés.

Les avis sont répertoriés sur la page d’administration de WordPress, qui comprend une option d’écran indiquant le nombre d’avis à afficher par page pour l’utilisateur administrateur. Malheureusement, cette fonctionnalité a été implémentée de manière non sécurisée, permettant à tous les utilisateurs authentifiés de modifier leurs capacités, y compris en s’octroyant des capacités d’administrateur.

En examinant de plus près le code, nous voyons que la fonction ‘rx_set_screen_options’, qui met à jour l’option d’écran par page d’un utilisateur, est liée à l’action ‘admin_init’.

add_filter( 'admin_init', 'rx_set_screen_options' );

Ce crochet est déclenché sur chaque page d’administration sans aucune restriction de type de publication ou de page. Cela signifie que la fonction accrochée ‘rx_set_screen_options’ est invoquée sur toutes les pages d’administration, permettant aux utilisateurs qui autrement n’ont pas accès au plugin d’accéder également à la fonction, car la fonction elle-même ne contient aucune restriction.

Cela permet à tout utilisateur authentifié disposant d’un compte, tel qu’un abonné, d’invoquer la fonction ‘rx_set_screen_options’.

function rx_set_screen_options() {
    if ( isset( $_POST['wp_screen_options'] ) && is_array( $_POST['wp_screen_options'] ) ) {
        check_admin_referer( 'screen-options-nonce', 'screenoptionnonce' );

        $user = wp_get_current_user();
		if ( ! $user ) {
			return;
        }
        
        $option = $_POST['wp_screen_options']['option'];
        $value  = $_POST['wp_screen_options']['value'];
        
        if ( sanitize_key( $option ) != $option ) {
			return;
        }

        update_user_meta( $user->ID, $option, $value );
    }
}

La fonction inclut une vérification nonce, mais elle utilise un nonce général qui est disponible sur chaque page d’administration où il y a une option d’écran.

Le problème et la vulnérabilité les plus importants sont causés par le fait qu’il n’y a pas de restrictions sur l’option, de sorte que les métadonnées de l’utilisateur peuvent être mises à jour arbitrairement, et il n’y a pas de nettoyage sur la valeur de l’option, donc n’importe quelle valeur peut être définie, y compris une valeur de tableau , qui est nécessaire pour l’option de méta de capacité.

Cela a permis aux utilisateurs authentifiés, tels que les abonnés, de fournir au paramètre de tableau ‘wp_capabilities’ toutes les capacités souhaitées, telles que l’administrateur, lors d’une mise à jour des options d’écran.

Comme pour toute vulnérabilité d’escalade de privilèges, cela peut être utilisé pour compromettre complètement le site. Une fois qu’un attaquant a obtenu un accès utilisateur administratif à un site WordPress, il peut alors manipuler n’importe quoi sur le site ciblé comme le ferait un administrateur normal. Cela inclut la possibilité de télécharger des fichiers de plug-in et de thème, qui peuvent être des fichiers zip malveillants contenant des portes dérobées, et de modifier des publications et des pages qui peuvent être exploitées pour rediriger les utilisateurs du site vers d’autres sites malveillants.

Calendrier de divulgation

20 mai 2023 – Découverte de la vulnérabilité Privilege Escalation dans ReviewX.
20 mai 2023 – Nous prenons contact avec le fournisseur du plugin en lui demandant de confirmer la boîte de réception pour gérer la discussion.
21 mai 2023 – Le fournisseur confirme la boîte de réception pour gérer la discussion.
21 mai 2023 – Nous envoyons les détails complets de la divulgation. Le fournisseur accuse réception du rapport et commence à travailler sur un correctif.
22 mai 2023 – Les utilisateurs de Wordfence Premium, Care et Response reçoivent une règle de pare-feu pour assurer une protection contre tout exploit susceptible de cibler cette vulnérabilité.
23 mai 2023 – Une version entièrement corrigée du plugin, 1.6.14, est publiée.
21 juin 2023 – Les utilisateurs de Wordfence Free bénéficient de la même protection.

Conclusion

Dans cet article de blog, nous avons détaillé une vulnérabilité d’escalade de privilèges dans le Plug-in ReviewXComment affectant les versions 1.6.13 et antérieures. Cette vulnérabilité permet aux pirates authentifiés disposant d’autorisations de niveau abonné ou supérieur d’élever leurs privilèges à ceux d’un administrateur de site, ce qui pourrait finalement conduire à une compromission complète du site. La vulnérabilité a été entièrement corrigée dans la version 1.6.14 du plugin.

Nous encourageons les utilisateurs de WordPress à vérifier que leurs sites sont mis à jour avec la dernière version corrigée de ReviewX.

Wordfence Premium, Soins des motset Réponse Wordfence les utilisateurs ont reçu une règle de pare-feu pour se protéger contre tout exploit ciblant cette vulnérabilité le 22 mai 2023. Les sites utilisant encore la version gratuite de Wordfence recevront la même protection le 21 juin 2023.

Si vous connaissez quelqu’un qui utilise ce plugin sur son site, nous vous recommandons de partager cet avis avec lui pour garantir la sécurité de son site, car cette vulnérabilité présente un risque important.

Pour les chercheurs en sécurité qui cherchent à divulguer des vulnérabilités de manière responsable et à obtenir un ID CVE, vous pouvez soumettez vos découvertes à Wordfence Intelligence et potentiellement gagner une place sur notre classement.


Source link