WordPress, 320 000 sites concernés par une faille

Des failles de contournement d’authentification dans les plugins de WordPress, InfiniteWP Client et WP Time Capsule, rendent vulnérables des centaines de milliers de sites.

Les deux plugins WordPress, InfiniteWP Client et WP Time Capsule, souffrent de la même faille critique de contournement d’authentification qui permet aux hackers d’accéder au backend du site sans mot de passe.

Tout ce dont le pirate a besoin est le login de l’administrateur, selon les chercheurs de WebArx qui ont créé des attaques preuve de concept pour exploiter la vulnérabilité.

“Les deux contiennent des problèmes logiques dans le code qui vous permettent de vous connectez au compte de l’administrateur sans mot de passe,” a écrit WebArx dans un article expliquant la découverte.

Selon la librairie d’extensions WordPress, 300 000 sites utilise une version vulnérable du plugin InfinteWP Client. Le plugin WP Time Capsule est actif sur 20 000 sites, toujours selon la librairie d’extensions.

Les deux plugins sont conçus pour permettre aux utilisateurs de s’authentifier sur plusieurs installations WordPress depuis un serveur central. Cela permet aux propriétaires de sites de faire de la maintenance sur les noyaux, les plugins, et les thèmes sur tout leurs sites. Ils permettent aussi de faire des sauvegardes, de restaurer des sites, d’activer ou de désactiver des plugins et des thèmes sur plusieurs sites en simultané,” selon une description de WordFence.

wordpress

Les vulnérabilités ont été reporté pour la première fois le 7 Janvier 2020. Le jour suivant, les développeurs ont sorti de nouvelles versions des plugins. WebArx a publiquement divulgué l’existence de ces vulnérabilités le 14 Janvier.

Le bug de InfiniteWP Client

Les versions antérieures à la version 1.9.4.5 de InfiniteWP Client sont concernées. La preuve de concept est simple, la faille est donc considéré comme critique et a un score CVSS de 9,8 sur 10.

La preuve de concept requiert un payload encodé en JSON, et ensuite en Base64. Il est ensuite envoyé vers un site ciblé dans une requête POST.

“Le problème réside dans la fonction iwp_mmb_set_request qui se trouve dans le fichier init.php . Cette fonction vérifie si la variable request_params de la classe IWP_MMB_Core n’est pas vide, cette dernière est seulement remplie quand le payload atteint certaines conditions,” a expliqué WebArx.

“Dans ce cas, la condition est que le paramètre iwp_action du payload doit être égal à readd_site ou add_site car ce sont les seules actions qui n’ont pas de vérifications d’autorisation. La vérification d’autorisation manquante est la raison pour laquelle ce problème existe,” ont écrit les chercheurs.

Le login fournit par le hacker sera utilisé pour se connecter sans effectuer d’authentification supplémentaire.

Le bug de WordPress Time Capsule

En ce qui concerne WP Time Capsule, les chercheurs ont identifié les versions antérieures à la version 1.21.16 comme étant vulnérables.

wp time capsule

Son payload est plus simple et a simplement besoin de contenir une chaîne de caractère spéciale dans le corps de la requête POST.

“Le problème réside dans la ligne 12 du fichier wptc-cron-functions.php qui se charge de l’analyse de la requête. La fonction parse_request appelle la fonction decode_server_request_wptc qui vérifie si le payload POST contient la chaîne de caractère ‘IWP_JSON_PREFIX’,” selon les chercheurs.

Si la requête contient cette chaîne de caractère, wptc_login_as_admin (fonction qui récupère tout les comptes d’administrateurs disponibles et utilise le premier compte de la liste) est appelé et vous serez connectez en tant qu’administrateur.

Mitigation sur WordPress

WebArx signale aussi que les pare-feux peuvent donner aux utilisateurs une fausse sensation de sécurité face à cette vulnérabilité.

“Parce que les vulnérabilités de contournement d’authentification sont souvent des erreurs logiques dans le code et n’impliquent pas de payload suspect, il peut être difficile de trouver et de déterminer la source de ces problèmes,” selon WebArx.

Ils ont ajouté que parce que le payload est encodé, il pourrait être compliqué de le distinguer des autres payload.

“A cause de la nature de la vulnérabilité, les pare-feux de type cloud peuvent ne pas être capable de faire la différence entre le trafic malveillant et le trafic légitime. La protection contre cette vulnérabilité peut donc ne pas efficace.”

Pour se protéger de ces failles sur WordPress, il suffit de mettre à jour les plugins InfiniteWP Client et WP Time Capsule.

Si cet article sur vous a plu, jetez un œil à notre article précédent.

S’abonner
Notifier de
guest
0 Commentaires
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x