
Escalade de privilèges authentifiée vers Admin exploitant Uncanny Groups pour LearnDash.
Uncanny Groups for LearnDash (uncanny-learndash-group) est un plugin tiers pour LearnDash LMS (sfwd-lms). Le plugin permet aux chefs de groupe (rôle personnalisé LearnDash) de gérer les utilisateurs de leurs propres groupes LearnDash depuis l'interface frontale.
Les chefs de groupe peuvent ajouter des utilisateurs existants à leurs groupes. Les utilisateurs existants sont ajoutés automatiquement (c'est-à-dire qu'ils n'ont pas à accepter d'invitations).
Si l'administrateur du site a activé une fonctionnalité du plugin appelée « Autoriser les chefs de groupe à modifier les utilisateurs », les chefs de groupe peuvent également modifier les noms et adresses e-mail des membres de leur groupe (utilisateurs). Cette fonctionnalité est désactivée par défaut.
Un chef de groupe peut modifier l'adresse e-mail d'un administrateur et ainsi obtenir un accès administrateur si le paramètre « Autoriser les chefs de groupe à modifier les utilisateurs » est activé. Lorsqu'elle est exploitée conjointement avec CVE-2024-8350, tous les chefs de groupe peuvent devenir administrateurs, indépendamment de l'état du paramètre « Autoriser les chefs de groupe à modifier les utilisateurs ».
Le plugin ne vérifie pas le rôle des membres existants du groupe (utilisateurs) lorsqu'ils sont ajoutés à de nouveaux groupes. Si « Autoriser les chefs de groupe à modifier les utilisateurs » est activé, un chef de groupe peut ainsi obtenir des privilèges d'administrateur sur le site en ajoutant un administrateur existant à son groupe. Après avoir ajouté un administrateur existant au groupe, le chef de groupe modifie simplement l'adresse e-mail de l'administrateur et réinitialise le mot de passe.
Uncanny Owl a publié un correctif insuffisant (6.1.0.1) le 2024-08-26. La vulnérabilité ne pouvait plus être exploitée pour devenir administrateur (sauf en conjonction avec CVE-2024-8350), mais elle pouvait toujours être utilisée par n'importe quel chef de groupe pour devenir éditeur (ou inférieur). « Autoriser les chefs de groupe à modifier les utilisateurs » devait être activé.
Uncanny Owl a publié un correctif complet (6.1.1) le 2024-09-11.
Un chef de groupe peut modifier les coordonnées d'un utilisateur en raison d'une vérification d'autorisation manquante dans l'API REST. Lorsqu'elle est exploitée conjointement avec CVE-2024-8349, tous les chefs de groupe peuvent s'attribuer des privilèges d'administrateur.
Le plugin dispose d'un paramètre d'autorisation à l'échelle du site appelé « Autoriser les chefs de groupe à modifier les utilisateurs ». Lorsqu'il est activé, les chefs de groupe peuvent modifier les noms et adresses e-mail des membres de leur groupe (utilisateurs). Cette fonctionnalité est désactivée par défaut.
Cependant, laisser la fonctionnalité désactivée empêche simplement l'affichage du paramètre sur l'interface frontale. Un chef de groupe peut toujours envoyer des requêtes POST avec les mêmes actions. Étant donné que les chefs de groupe peuvent ajouter tous les utilisateurs à leurs groupes, ils peuvent également modifier les noms et adresses e-mail de tous les utilisateurs.
https://example.com/wp-json/ulgm_management/v1/edit_user/?
action=edit-user&group-id={Group ID}&edit-user-id={user ID}&first_name=Lorem&last_name=Ipsum&email={attacker’s email address}
(L'identifiant du groupe et l'identifiant de l'utilisateur peuvent être trouvés dans le contenu de la page.)
Lorsqu'elle est exploitée conjointement avec CVE-2024-8349, tous les chefs de groupe peuvent s'attribuer des privilèges d'administrateur.
Uncanny Owl a publié un correctif insuffisant (6.1.0.1) le 2024-08-26. La vulnérabilité a été partiellement corrigée, mais encore une fois uniquement sur l'interface frontale. Le paramètre « Autoriser les chefs de groupe à modifier les utilisateurs » devait être activé.
Si un chef de groupe avait un administrateur dans son groupe, le chef de groupe ne pouvait plus afficher la fenêtre modale pour modifier l'adresse e-mail de l'administrateur. Cependant, l'API REST permettait toujours au chef de groupe de le faire.
Un chef de groupe pouvait toujours devenir administrateur en exploitant CVE-2024-8350 conjointement avec CVE-2024-8349. Le chef de groupe devait d'abord ajouter un éditeur à son groupe et prendre le contrôle du compte de l'éditeur. Le chef de groupe (maintenant éditeur) pouvait ensuite ajouter un administrateur depuis l'interface d'administration de LearnDash et modifier l'adresse e-mail de l'administrateur via l'API REST d'Uncanny Groups.
Uncanny Owl a publié un correctif complet (6.1.1) le 2024-09-11.
Uncanny Owl a bien géré les signalements de vulnérabilités et a corrigé les vulnérabilités dans la fenêtre de divulgation responsable de 90 jours.
Les administrateurs de site doivent savoir qu'un chef de groupe du groupe A peut ajouter un utilisateur faisant partie du groupe B sans le consentement de l'utilisateur. Cela peut poser un problème de confidentialité et de conformité au RGPD si, par exemple, le groupe A et le groupe B sont deux entreprises différentes. Ce n'est toutefois pas une vulnérabilité car c'est ainsi que le plugin est conçu pour fonctionner.
J'ai soumis une demande de fonctionnalité pour traiter ce problème de confidentialité en 2021. Uncanny Owl va maintenant reconsidérer ma demande de fonctionnalité. En attendant, les sites concernés peuvent mettre en œuvre leurs propres solutions de contournement en utilisant le filtre ulgm_gdpr_is_group_leader_allowed et des remplacements de modèles frontaux personnalisés.