Le 11 décembre 2023, lors de notre Holiday Bug Extravaganza, nous avons reçu une soumission concernant une vulnérabilité de mise à jour des options arbitraires dans Informations sur les cookies | Solution de consentement RGPD gratuite, un plugin WordPress avec plus de 100 000+ installations actives. Cette vulnérabilité pourrait être utilisée par des attaquants authentifiés, avec un accès authentifié, pour mettre à jour des options arbitraires et en tirer parti pour une élévation de privilèges.

Des accessoires pour Lucio Sa qui a découvert et signalé de manière responsable cette vulnérabilité via Wordfence Programme de prime aux bogues. Ce chercheur a gagné une prime de 1 900,00 $ pour cette découverte lors de notre extravagance du programme Bug Bounty.

Wordfence Premium, Entretien de la clôture des motset Réponse de Wordfence les utilisateurs ont reçu une règle de pare-feu pour se protéger contre tout exploit ciblant cette vulnérabilité le 12 décembre 2023. Les sites utilisant toujours la version gratuite de Wordfence ont reçu la même protection le 11 janvier 2024.

Nous avons contacté l'équipe d'information sur les cookies le 12 décembre 2023, mais nous n'avons reçu aucune réponse. Nous l'avons donc transmis à l'équipe de sécurité de WordPress.org le 25 janvier 2024. Après cela, le développeur a publié un correctif le 29 janvier. 2024.

Nous invitons les utilisateurs à mettre à jour leurs sites avec la dernière version corrigée de Cookie Information | Solution de consentement RGPD gratuite, version 2.0.23, dès que possible.

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

Les informations sur les cookies | Le plugin gratuit GDPR Consent Solution pour WordPress est vulnérable aux mises à jour d’options arbitraires en raison d’une vérification de capacité manquante sur son gestionnaire de requêtes AJAX dans les versions jusqu’à et y compris 2.0.22. Cela permet aux attaquants authentifiés, disposant d'un accès au niveau de l'abonné ou supérieur, de modifier des options arbitraires du site qui peuvent être utilisées pour créer des comptes d'administrateur.

Analyse technique

Informations sur les cookies | Free GDPR Consent Solution est un plugin de sécurité de site Web WordPress qui offre plusieurs fonctionnalités pour se conformer au RGPD, notamment la fenêtre contextuelle des cookies, le journal de consentement, l'intégration de formulaires, etc. Les options d'intégration de formulaire du plugin sont répertoriées sur la page d'administration.

<section class="wpgdprc-integrations">
	<?php
	$list = Integration::getList();
	foreach ( $list as $key => $integration ) {
		Template::render(
			'Admin/Pages/Settings/Integrations/item',
			[
				'type'        => $key,
				'integration' => $integration,
			]
		);
	}
	?>
</section>

Une liste prédéfinie contient les formulaires intégrables, interrogeables avec le getList() fonctionner dans le Integration classe.

/**
 * Lists all supported features/plugins
 * @return array[AbstractIntegration|AbstractPlugin]
 */
public static function getList(): array {
	return self::supportedWP() + self::supportedPlugins();
}

L'examen du code révèle que l'intégration peut être activée avec AJAX. Le UpdateIntegration la classe s'étend AbstractAjax class, quelles classes contiennent les fonctions de l'action AJAX.

/**
 * Executes the AJAX request
 */
public static function execute() {
    check_ajax_referer( Plugin::AJAX_NONCE, Plugin::AJAX_ARG );

	if ( ! static::hasData() ) {
		static::buildResponse([]);
		return;
	}

	$data = static::validateData();
	$data = static::sanitizeData($data);
	static::buildResponse($data);
}

Après avoir validé et nettoyé les données, le execute() fonctionner dans le AbstractAjax la classe appelle le buildResponse() fonction, qui est implémentée dans le UpdateIntegration classe. Malheureusement, il a été constaté que le nonce est accessible au public et qu'il n'existe aucune vérification de capacité. Cela permet aux attaquants d'authentification disposant d'une autorisation au niveau de l'abonné d'accéder à la fonction AJAX.

/**
 * Builds the AJAX response
 * (security handling + data validation -if any- is done in the abstract class)
 * @param array $data
 */
public static function buildResponse( $data = [] ) {
	$meta_key   = explode( '[', $data['name'] );
	$success    = false;
	$data_value = $data['value'];

	switch ( count( $meta_key ) ) {
		case 1:
			$meta_key = reset( $meta_key );
			$settings = $data_value;
			$success  = update_option( $meta_key, $settings );
			break;

Un examen plus approfondi du code révèle que bien que l'intégration soit limitée sur la page des paramètres d'administration, il n'y a aucune restriction sur la clé d'option, qui est la variable $meta_key dans la fonction. Cela permet de mettre à jour les options de manière arbitraire.

Comme pour toute vulnérabilité de mise à jour des options arbitraires, celle-ci peut être utilisée pour compromettre complètement le site en définissant le rôle d'enregistrement par défaut sur administrateur. Une fois qu’un attaquant a modifié les options du site pour créer un compte administratif sur le site WordPress, il peut alors manipuler n’importe quoi sur le site ciblé, tout comme le ferait un administrateur normal. Cela inclut la possibilité de télécharger des fichiers de plugins et de thèmes, 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.

Pare-feu Wordfence

Le graphique suivant montre les étapes d'exploitation qu'un attaquant pourrait suivre et à quel point le pare-feu Wordfence empêcherait un attaquant d'exploiter avec succès la vulnérabilité.

La règle de pare-feu Wordfence détecte l'action AJAX malveillante et bloque la demande si elle ne provient pas d'un administrateur autorisé existant.

Chronologie de la divulgation

11 décembre 2023 – Nous recevons la soumission de la vulnérabilité de mise à jour des options arbitraires dans Cookie Information | Solution de consentement RGPD gratuite via le programme Wordfence Bug Bounty.
11 décembre 2023 – Nous validons le rapport et confirmons l’exploit de preuve de concept.
12 décembre 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.
12 décembre 2023Wordfence Premium, Se soucieret Réponse les utilisateurs reçoivent une règle de pare-feu pour assurer une protection contre tout exploit susceptible de cibler cette vulnérabilité.
11 janvier 2024 – Les utilisateurs de Wordfence Free bénéficient de la même protection.
25 janvier 2024 – Nous signalons la vulnérabilité à l’équipe de sécurité de WordPress.org et envoyons tous les détails de la divulgation.
26 janvier 2024 – L’équipe de sécurité de WordPress.org prend note du rapport.
29 janvier 2024 – La version entièrement corrigée du plugin, 2.0.23, est publiée.

Conclusion

Dans cet article de blog, nous avons détaillé une vulnérabilité de mise à jour des options arbitraires au sein du Informations sur les cookies | Plugin gratuit de solution de consentement RGPD affectant les versions 2.0.22 et antérieures. Cette vulnérabilité permet aux acteurs malveillants authentifiés disposant d'autorisations au niveau de l'abonné ou supérieures de modifier des options de site arbitraires qui peuvent être utilisées pour créer des comptes d'administrateur. La vulnérabilité a été entièrement corrigée dans la version 2.0.23 du plugin.

Nous encourageons les utilisateurs de WordPress à vérifier que leurs sites sont mis à jour avec la dernière version corrigée de Cookie Information | Solution de consentement RGPD gratuite.

Wordfence Premium, Entretien de la clôture des motset Réponse de Wordfence les utilisateurs ont reçu une règle de pare-feu pour se protéger contre tout exploit ciblant cette vulnérabilité le 12 décembre 2023. Les sites utilisant toujours la version gratuite de Wordfence ont reçu la même protection le 11 janvier 2024.

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.


Source link