Une vulnérabilité de contrôle d’accès dans la plate-forme de planification open source Easy! Appointments a permis aux attaquants non authentifiés d’accéder facilement aux informations personnelles identifiables (PII), a révélé un chercheur en sécurité.

Désormais corrigée, la faille critique (CVE-2022-0482) découlait d’un manque d’authentification dans une API backend utilisée pour remplir le calendrier de l’utilisateur.

Le bogue a été découvert par Francesco Carluccifondateur de OpenCIRTune plate-forme de notification de vulnérabilité actuellement en mode bêta.

Carlucci a découvert que ajax_get_calendar_events() passé seulement trois paramètres – date de début, date de finet csrfToken – et que la tentative de suppression de tous les cookies de sa demande a renvoyé une réponse 403.

Il a ensuite découvert que des pirates malveillants pouvaient saisir un jeton CSRF en visitant simplement le formulaire de réservation public, avant d’interroger l’API non protégée et de télécharger les données relatives aux rendez-vous.

La vulnérabilité, que Carlucci a documentée dans un rédaction techniquea un score CVSS de 9,1.

Scénarios d’attaque

Il existe plusieurs scénarios d’attaque, a déclaré Carlucci. « Tout d’abord, l’attaquant a accès à tout un ensemble d’informations personnelles, fournies par l’utilisateur lors du processus de réservation », a-t-il déclaré. La gorgée quotidienne.

« Cela inclut le numéro de téléphone, l’adresse physique, la ville… toutes les informations juteuses qui peuvent être utilisées pour le vol d’identité et les ‘attaques de récupération de mot de passe’ sur d’autres sites Web.

« Alors bien sûr, l’attaquant sait qui l’utilisateur rencontre et pourquoi, et cela peut être très personnel en fonction du but de la réservation. »

Il a poursuivi : « Enfin et surtout, la réponse HTTP incluait la « référence » (hachage) de la réservation, qui peut être utilisée par l’attaquant pour annuler la réservation au nom de l’utilisateur (sur un point de terminaison différent : index.php/appointments/index/{hachage}). Un attaquant peut automatiser cela pour parcourir les réservations et effacer toute la base de données de réservation.

Easy!Appointments, également disponible sous forme de plugin WordPress, a été téléchargé plus de 100 000 fois.

Le système de gestion des rendez-vous est basé sur CodeIgniter, qui, selon Carlucci, est plus risqué que les frameworks PHP alternatifs tels que Laravel, car les développeurs doivent coder leur propre authentification et d’autres fonctionnalités de base.

Carlucci a déclaré qu’il y avait « plusieurs milliers d’instances encore non corrigées sur le Web », et que bien qu’il n’y ait pas encore de preuve d’exploitation active, cela pourrait changer « de sitôt ».

Mises à jour et détection de bugs

Carlucci a soumis une rapport de vulnérabilité à la plate-forme de primes de bogues open source Huntr et au développeur principal d’Easy! Appointments, Alex Tselegidis, le 30 janvier.

Tselegidis a corrigé le problème dans Easy!Appointments 1.4.3, qui était sortie le 8 mars. Toutes les versions précédentes sont concernées.

Tselegidis a fourni un script utilitaire de correctif qui automatise le processus de mise à jour pour les utilisateurs qui ne peuvent pas mettre à jour autrement.

Le développeur, que Carlucci a qualifié de « vraiment réactif et coopératif », a également « effectué un examen de sécurité complet » qui a résolu plusieurs autres problèmes de sécurité mineurs.

Carlucci, qui a gagné une « petite » prime de bogue pour la découverte, a publié un Modèle de noyaux pour aider les chercheurs en sécurité à détecter la vulnérabilité, et a averti « quelques grandes ONG qui utilisaient le logiciel pour réserver les vaccins Covid-19 ».

Tselegidis a dit La gorgée quotidienne il était « reconnaissant des commentaires et du soutien de la communauté pour de tels cas ».