Le 6 octobre 2020, notre équipe Threat Intelligence a découvert une vulnérabilité d’injection d’objets à haute gravité dans Commerce électronique Welcart, un plugin WordPress avec plus de 20 000 installations qui revendique la meilleure part de marché au Japon.

Après avoir terminé notre enquête, nous avons contacté l’éditeur du plugin, Collne Inc. le 9 octobre 2020. Une divulgation complète a été envoyée le 12 octobre 2020 et le plugin a été corrigé dans la version 1.9.36 le 20 octobre 2020.

Les clients Wordfence Premium ont reçu une règle de pare-feu protégeant contre cette vulnérabilité le 9 octobre 2020. Les sites utilisant encore la version gratuite de Wordfence recevront cette règle après 30 jours le 8 novembre 2020.


Welcart e-Commerce est un plugin WordPress qui peut être utilisé pour créer une boutique en ligne avec une zone de compte client distincte. Il utilise ses propres cookies, distincts de ceux utilisés par WordPress, afin de suivre les sessions des utilisateurs. Chaque demande au site entraîne le usces_cookie analysé par le get_cookie fonction. Cette fonction a utilisé usces_unserialize pour décoder le contenu de ce cookie.

	function get_cookie($key='usces_cookie') {
		$values = isset($_COOKIE[$key]) ? usces_unserialize(stripslashes($_COOKIE[$key])) : NULL;
		return $values;
	}
function usces_unserialize( $data ) {
	if( is_serialized( $data ) ) {
		return @unserialize( $data );
	}
	if( is_array( $data ) ) {
		return $data;
	}
	return @json_decode( $data, true );
}

Malheureusement, cela signifiait qu’un attaquant pouvait envoyer une requête avec le usces_cookie paramètre défini sur une chaîne spécialement conçue qui, une fois désérialisée, injecterait un objet PHP.

Les injections d’objets PHP nécessitent la présence d’une méthode magique vulnérable afin d’exploiter pleinement ce que l’on appelle une chaîne POP. Nous avons déjà mentionné les chaînes POP dans un article précédent. Une chaîne POP permet à un attaquant d’utiliser ce que l’on appelle des méthodes magiques pour obtenir l’exécution de code à distance, supprimer des fichiers arbitraires ou effectuer d’autres actions qui pourraient lui permettre de prendre le contrôle d’un site.

Ce plugin inclut une bibliothèque, tcpdf, qui contient un __destruct méthode magique qui aurait pu être utilisée pour créer une chaîne POP dans d’autres circonstances. Heureusement, une chaîne POP complète n’était pas présente car le plugin a désérialisé le cookie avant le TCPDF La classe a été chargée et définie, il n’a donc pas été possible d’injecter un objet avec cette classe.

En plus de bonnes nouvelles, cette vulnérabilité ne pourrait pas être exploitée en conjonction avec le problème récemment corrigé dans le cœur de WordPress Requests_Utility_FilteredIterator classe, depuis le usces_unserialize fonction a utilisé la is_serialized fonction pour décider de désérialiser les données des cookies et les attaques contre Requests_Utility_FilteredIterator échoué à cette vérification.

Chronologie

6 octobre 2020 – Notre équipe Threat Intelligence découvre une vulnérabilité d’injection d’objets PHP dans Welcart e-Commerce.
9 octobre 2020 – Notre équipe Threat Intelligence termine l’analyse de la vulnérabilité et contacte l’éditeur du plugin. Une règle de pare-feu est publiée pour les utilisateurs de Wordfence Premium.
12 octobre 2020 – Nous envoyons la divulgation complète à l’éditeur du plugin.
20 octobre 2020 – Un correctif suffisant pour Welcart e-Commerce est publié.
8 novembre 2020 – La règle de pare-feu Wordfence devient disponible pour les sites exécutant la version gratuite de Wordfence.

Conclusion

Dans l’article d’aujourd’hui, nous avons détaillé un objet PHP dans le plugin Welcart e-Commerce. Wordfence Premium les utilisateurs sont protégés contre cette vulnérabilité depuis le 9 octobre 2020. Les sites exécutant toujours la version gratuite de Wordfence reçoivent la règle de pare-feu le 8 novembre 2020.

Nous vous recommandons fortement de mettre à jour vers la dernière version, 1.9.36 au moment de la rédaction de cet article, dès que possible. Si une personne que vous connaissez utilise Welcart e-Commerce, nous vous recommandons de partager cet avis avec elle afin qu’elle puisse prendre les mesures nécessaires pour protéger son site.


Source link