Aujourd’hui, il a été révélé que le formulaire de contact WordPress populaire appelé Ninja Forms a corrigé deux vulnérabilités, affectant plus d’un million d’installations WordPress. Cela représente une autre dans une liste croissante de vulnérabilités liées à l’API REST qui sont découvertes parmi de nombreux plugins WordPress.

Il faut répéter qu’il n’y a rien de mal avec l’API WordPress REST elle-même. Les problèmes proviennent de la façon dont les plugins WordPress conçoivent leurs interactions avec l’API REST.

API REST WordPress

L’API WordPress REST est une interface qui permet aux plugins d’interagir avec le noyau WordPress. L’API REST permet aux plugins, thèmes et autres applications de manipuler le contenu WordPress et de créer des fonctionnalités interactives.

Cette technologie étend ce que le noyau WordPress peut faire.

Le noyau WordPress reçoit des données via l’interface API REST des plugins afin d’accomplir ces nouvelles expériences.

Cependant, comme pour toute autre interaction permettant le téléchargement ou la saisie de données, il est important de «désinfecter» ce qui est entré et qui est capable de faire l’entrée, afin de s’assurer que les données sont ce qui est attendu et conçu pour être reçu.

Le fait de ne pas nettoyer les entrées et de restreindre qui peut saisir les données peut entraîner des vulnérabilités.

Et c’est exactement ce qui s’est passé ici.

Vulnérabilité de rappel des autorisations

Les deux vulnérabilités résultaient d’un seul problème de validation de l’API REST, en particulier dans les rappels d’autorisations.

Le rappel des autorisations fait partie du processus d’authentification qui limite l’accès aux points de terminaison de l’API REST aux utilisateurs autorisés.

La documentation officielle de WordPress décrit un endpoint comme une fonction :

« Les points de terminaison sont des fonctions disponibles via l’API. Cela peut être par exemple la récupération de l’index de l’API, la mise à jour d’un article ou la suppression d’un commentaire. Les points de terminaison remplissent une fonction spécifique, prennent un certain nombre de paramètres et renvoient des données au client.

Selon la documentation de l’API WordPress REST :

« Les rappels d’autorisations sont extrêmement importants pour la sécurité avec l’API WordPress REST.

Si vous avez des données privées qui ne doivent pas être affichées publiquement, vous devez enregistrer des rappels d’autorisations pour vos points de terminaison. »

Deux vulnérabilités WordPress Ninja Forms

Deux vulnérabilités étaient toutes deux liées à une erreur de rappel des autorisations lors de l’implémentation.

Il n’y a rien de mal avec l’API WordPress REST elle-même, mais la façon dont les fabricants de plugins l’implémentent peut entraîner des problèmes.

Voici les deux vulnérabilités :

  • Divulgation d’informations sensibles
  • REST-API non protégé pour l’injection d’e-mails

Vulnérabilité de divulgation d’informations sensibles

La vulnérabilité de divulgation d’informations sensibles permettait à tout utilisateur enregistré, même un abonné, d’exporter tous les formulaires qui avaient déjà été soumis sur le site Web. Cela inclut toutes les informations confidentielles que quelqu’un peut avoir soumises.

Les formulaires Ninja avaient un rappel d’autorisations qui vérifiait si un utilisateur était enregistré, mais il ne vérifiait pas si l’utilisateur avait un niveau d’autorisation approprié pour exécuter une exportation en masse de tous les formulaires soumis via le plugin WordPress Ninja Forms.

Cette incapacité à vérifier le niveau d’autorisation de l’utilisateur est ce qui a permis à tout utilisateur enregistré, y compris un abonné au site Web, d’exécuter une exportation en bloc de tous les formulaires soumis.

L’API REST non protégée pour l’injection d’e-mails

Cette vulnérabilité était due au même rappel d’autorisations erronées qui n’a pas réussi à vérifier le niveau d’autorisation de l’attaquant enregistré. La vulnérabilité a profité d’une fonctionnalité Ninja Forms qui permet aux éditeurs de sites Web d’envoyer des notifications par e-mail en masse ou des confirmations par e-mail en réponse aux soumissions de formulaires.

La vulnérabilité Email Injection a permis à un attaquant d’utiliser cette fonctionnalité spécifique de Ninja Forms pour envoyer des e-mails du site Web vulnérable à n’importe quelle adresse e-mail.

Cette vulnérabilité particulière avait la possibilité de lancer une prise de contrôle complète du site ou une campagne de phishing contre les clients d’un site Web.

Selon les chercheurs en sécurité de Wordfence qui ont découvert la vulnérabilité :

« Cette vulnérabilité pourrait facilement être utilisée pour créer une campagne de phishing qui pourrait inciter les utilisateurs sans méfiance à effectuer des actions indésirables en abusant de la confiance dans le domaine qui a été utilisé pour envoyer l’e-mail.

De plus, une attaque de spear phishing plus ciblée pourrait être utilisée pour tromper un propriétaire de site en lui faisant croire qu’un e-mail provient de son propre site.

Cela pourrait être utilisé pour inciter un administrateur à entrer son mot de passe sur une fausse page de connexion, ou permettre à un attaquant de profiter d’une deuxième vulnérabilité nécessitant une ingénierie sociale, telle que Cross-Site Request Forgery ou Cross-Site Scripting, qui pourraient être utilisées. pour la reprise du site.

Mise à jour immédiate des formulaires Ninja recommandée

Les chercheurs en sécurité de Wordfence recommandent aux utilisateurs du plugin WordPress Ninja Forms de mettre à jour leur plugin immédiatement.

La vulnérabilité est classée comme un danger de niveau moyen, avec un score de 6,5 sur une échelle de 1 à 10.

Citations

Lisez l’annonce de Wordfence :

Les vulnérabilités récemment corrigées dans le plugin Ninja Forms affectent plus d’un million de propriétaires de sites

Journal officiel des modifications des formulaires Ninja

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici