La vulnérabilité du thème WordPress Astra affecte +1 million de sites

L'un des thèmes WordPress les plus populaires au monde a discrètement corrigé une vulnérabilité de sécurité au cours du week-end qui, selon les chercheurs en sécurité, semble avoir corrigé une vulnérabilité XSS stockée.
Le journal des modifications officiel d'Astra a proposé cette explication de la version de sécurité :
« Sécurité améliorée : notre base de code a été renforcée pour protéger davantage votre site Web. » Leur journal des modifications, qui documente les modifications apportées au code inclus dans chaque mise à jour, n'offre aucune information sur la vulnérabilité ni sur sa gravité.

Les utilisateurs du thème ne peuvent donc pas prendre une décision éclairée quant à savoir s'ils doivent mettre à jour leur thème dès que possible ou effectuer des tests avant la mise à jour pour s'assurer que le thème mis à jour est compatible avec les autres plugins utilisés. SEJ a contacté la société de sécurité Patchstack WordPress qui a vérifié qu'Astra avait peut-être corrigé une vulnérabilité de script intersite.

Thème WordPress Brainstorm Force Astra

Astra est l'un des thèmes WordPress les plus populaires au monde.

Il s'agit d'un thème gratuit, relativement léger, facile à utiliser et qui donne lieu à des sites Web d'aspect professionnel. Il contient même des données structurées Schema.org.

Vulnérabilité de script intersite (XSS)

Une vulnérabilité de script intersite est l’un des types de vulnérabilités les plus courants trouvés sur WordPress et qui apparaît généralement dans les plugins et thèmes tiers. Il s'agit d'une vulnérabilité qui se produit lorsqu'il existe un moyen de saisir des données mais que le plugin ou le thème ne filtre pas suffisamment ce qui est entré ou sorti, ce qui peut ensuite permettre à un attaquant de télécharger une charge utile malveillante. Cette vulnérabilité particulière est appelée XSS stocké.

Un XSS stocké est ainsi appelé car il implique de télécharger directement la charge utile sur le serveur du site Web et de la stocker. Le site Web à but non lucratif Open Worldwide Application Security Project (OWASP) propose la description suivante d'une vulnérabilité XSS stockée : « Les attaques stockées sont celles où le script injecté est stocké en permanence sur les serveurs cibles, comme dans une base de données, dans un forum de messages., journal des visiteurs, champ de commentaire, etc.

La victime récupère ensuite le script malveillant du serveur lorsqu'elle demande les informations stockées. Le XSS stocké est également parfois appelé XSS persistant ou de type II.

Examen de la pile de correctifs du plugin

SEJ a contacté Patchstack qui a rapidement examiné les fichiers modifiés et identifié un éventuel problème de sécurité du thème dans trois fonctions WordPress.

Les fonctions WordPress sont du code qui peut modifier le comportement des fonctionnalités de WordPress, par exemple en modifiant la durée d'un extrait. Les fonctions peuvent ajouter des personnalisations et introduire de nouvelles fonctionnalités à un thème.

Patchstack a expliqué ses conclusions :

« J'ai téléchargé les versions 4.

6.9 et 4.6.

8 (version gratuite) depuis le référentiel WordPress.org et vérifié les différences. Il semble que plusieurs fonctions aient été modifiées pour échapper à la valeur de retour de la fonction WordPress get_the_author.

Cette fonction imprime la propriété « display_name » d'un utilisateur, qui pourrait contenir quelque chose de malveillant et aboutir à une vulnérabilité de script intersite s'elle était imprimée directement sans utiliser de fonction d'échappement de sortie. Cette modification a été apportée aux fonctions suivantes : astra_archive_page_info astra_post_author_name astra_post_author Si, par exemple, un contributeur a écrit un article et que ce contributeur modifie son nom d'affichage pour contenir une charge utile malveillante, cette charge utile malveillante sera exécutée lorsqu'un visiteur visite cette page avec leur nom d’affichage malveillant. Des données non fiables dans le contexte des vulnérabilités XSS dans WordPress peuvent se produire lorsqu'un utilisateur est en mesure de saisir des données.

Ces processus sont appelés Sanitisation, Validation et Escape, trois façons de sécuriser un site Web WordPress. La désinfection peut être considérée comme un processus qui filtre les données d'entrée. La validation est le processus de vérification du contenu saisi pour déterminer si c'est exactement ce qui est attendu, comme du texte au lieu du code.

L'échappement de la sortie garantit que tout ce qui est sorti, comme les entrées de l'utilisateur ou le contenu de la base de données, peut être affiché en toute sécurité dans le navigateur. La société de sécurité WordPress Patchstack a identifié des modifications apportées aux fonctions qui échappent aux données, ce qui donne des indices sur la nature de la vulnérabilité et sur la manière dont elle a été corrigée.

Avis de sécurité de la pile de correctifs

On ne sait pas si un chercheur tiers en sécurité a découvert la vulnérabilité ou si Brainstorm, les créateurs du thème Astra, l'ont découvert eux-mêmes et l'ont corrigé.

L’avis officiel de Patchstack proposait cette information : « Une personne inconnue a découvert et signalé cette vulnérabilité Cross Site Scripting (XSS) dans le thème WordPress Astra. Cela pourrait permettre à un acteur malveillant d'injecter des scripts malveillants, tels que des redirections, des publicités et d'autres charges utiles HTML dans votre site Web, qui seront exécutés lorsque des invités visiteront votre site. Cette vulnérabilité a été corrigée dans la version 4.

6.9. Patchstack a évalué la vulnérabilité comme une menace moyenne et lui a attribué une note de 6,5 sur une échelle de 1 à 10.

Avis de sécurité Wordfence

Wordfence vient également de publier un avis de sécurité. Ils ont analysé les fichiers Astra et ont conclu : « Le thème Astra pour WordPress est vulnérable au Stored Cross-Site Scripting via le nom d'affichage d'un utilisateur dans toutes les versions jusqu'à la 4.6.

8 incluse en raison d'une vérification insuffisante des entrées et de l'échappement des sorties. Cela permet aux attaquants authentifiés, avec un accès au niveau contributeur et supérieur, d'injecter des scripts Web arbitraires dans des pages qui s'exécuteront chaque fois qu'un utilisateur accède à une page injectée. Il est généralement recommandé aux utilisateurs du thème de mettre à jour leur installation, mais il est également prudent de tester si le thème mis à jour ne provoque pas d'erreurs avant de le diffuser sur un site Web en ligne.

Image en vedette par Shutterstock/GB_Art