Vecteur d'attaque: Spécifiez n'importe quel ID d'événement, y compris les articles privés ou brouillons
Déclencheur: Un utilisateur authentifié transmet l'ID de l'événement cible à l'API/point de terminaison
Impact: Divulgation de détails sensibles d'événements non publiés créés par un administrateur, y compris le titre, la description complète, les champs personnalisés, le lieu et les informations sur l'organisateur
PoC:
Connectez-vous en tant que Contributeur d'une manière ou d'une autre.
Devinez l'ID séquentiel de l'événement et consultez les informations privées en utilisant le short code.[add_single_eventon id="xxxx"]
L'exécution de l'aperçu provoque une fuite d'informations.
❓Raison de la vulnérabilité
Le paramètre post_type n'est pas correctement validé, ce qui permet de récupérer des types d'articles non souhaités, y compris des événements privés ou brouillons.
Correction proposée :
Mettre explicitement sur liste blanche le post_type autorisé avant d'exécuter la requête.
Appliquer des vérifications de capacités appropriées telles que current_user_can('read_private_ajde_events') pour le contenu privé.
Limiter post_status à publish pour les utilisateurs sans les privilèges nécessaires.
Un mot
C'est mon premier CVE. Comme il est attaquable depuis le rôle Contributeur, la menace est assez faible. Il suffit de changer le statut de Any à Public, donc corriger la vulnérabilité semble très simple.
🔍 Découvreur
Nom: MooseLove Rôle: Chercheur en sécurité indépendant / chasseur de bugs Contact: Disponible sur demande