Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-67875 — CVE-2025-67875 - ChurchCRM présente une XSS stockée via l'affectation de propriétés de personne, conduisant au détournement de session administrateur. | Kitploit
Outils/GitHubGitHub/lukasz-rybak/cve-2025-67875
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'IntrusionApprentissage et Éducation
GitHublukasz-rybak/cve-2025-67875

CVE-2025-67875

CVE-2025-67875 - ChurchCRM présente une XSS stockée via l'affectation de propriétés de personne, conduisant au détournement de session administrateur.

Voir le dépôt
1il y a 5 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-67875 : ChurchCRM présente une XSS stockée via l'affectation de propriétés de personne menant au détournement de session de l'administrateur

Aperçu

ChampDétails
Identifiant CVECVE-2025-67875
GravitéHIGH
AvisVoir l'avis
Découvert parLukasz Rybak

Produits affectés

  • ChurchCRM/CRM

Détails

Résumé

Une vulnérabilité critique d'élévation de privilèges existe dans ChurchCRM version 6.3.0 et antérieures. Un utilisateur authentifié disposant de permissions intermédiaires spécifiques (« Edit Records » et « Manage Properties and Classifications ») peut injecter une charge utile Cross-Site Scripting (XSS) persistante dans le profil d'un administrateur. La charge utile s'exécute lorsque l'administrateur consulte sa propre page de profil, permettant à l'attaquant de détourner la session de l'administrateur, d'effectuer des actions administratives et de réaliser une prise de contrôle totale du compte.

Cette vulnérabilité est une combinaison de deux défauts distincts : une référence directe insecure à un objet (IDOR) qui permet à tout utilisateur de consulter le profil de n'importe quel autre utilisateur, et une vulnérabilité de contrôle d'accès cassé (Broken Access Control) qui permet à un utilisateur disposant de permissions d'édition générales de modifier les propriétés de la fiche de n'importe quel autre utilisateur.

Détails

La chaîne d'attaque est la suivante :

  1. IDOR dans PersonView.php : Aucune vérification d'autorisation n'est effectuée au début de PersonView.php. Tout utilisateur authentifié peut consulter la page de profil de n'importe quel autre utilisateur (par exemple, PersonView.php?PersonID=1 pour l'administrateur) simplement en connaissant son ID.

  2. Contrôle d'accès cassé dans PropertyAssign.php : La fonctionnalité « Assign a New Property », accessible depuis la page PersonView.php d'un autre utilisateur, dirige l'utilisateur vers PropertyAssign.php. Ce script vérifie correctement si l'utilisateur dispose de la permission générale isEditRecordsEnabled(), mais il ne parvient pas à effectuer une vérification d'autorisation au niveau de l'objet pour confirmer que l'utilisateur est autorisé à modifier le PersonID spécifique passé dans l'URL. Cela permet à un utilisateur disposant de « Edit Records » de modifier les propriétés de n'importe quelle personne du système, y compris un administrateur.

  3. Vecteur XSS stockée : Un attaquant peut exploiter ces deux défauts pour accéder à la page de profil de l'administrateur et utiliser le formulaire « Assign a New Property » afin d'enregistrer une charge utile XSS malveillante sur la fiche de l'administrateur. Le champ Value des propriétés textuelles n'est pas correctement assaini à l'entrée (seul strip_tags est appliqué, ce qui ne supprime pas les gestionnaires d'événements) et n'est pas encodé à la sortie, ce qui conduit à une XSS stockée.

    • Gestion de l'entrée (src/PropertyAssign.php) : Enregistre la valeur de la propriété après avoir uniquement appliqué strip_tags(), ce qui autorise des attributs de gestionnaire d'événements comme onerror.
    • Sortie vulnérable (src/PersonView.php) : Affiche la valeur de propriété stockée directement dans le HTML sans htmlspecialchars(), provoquant l'exécution de la charge utile.
      root@kitploit:~
      // src/PersonView.php, line ~722
      <td><?= $r2p_Value ?></td> // Vulnerable: Raw output
      

PoC

Cette preuve de concept montre comment un utilisateur disposant de permissions intermédiaires spécifiques peut injecter une charge utile XSS stockée dans le profil de l'administrateur principal.

Prérequis :

  • Un attaquant possède un compte avec deux permissions spécifiques activées :
    1. Edit Records
    2. Manage Properties and Classifications

Scénario :

  1. Connexion en tant qu'attaquant : Connectez-vous avec l'utilisateur disposant des permissions énumérées ci-dessus.
image
  1. Cibler l'administrateur : Accédez directement à la page de profil de l'administrateur, qui est généralement PersonID=1.
    root@kitploit:~
    http://localhost:8101/PersonView.php?PersonID=1
    
    (L'accès est accordé en raison de l'IDOR dans PersonView.php).
image
  1. Injecter la charge utile :
    • Sur la page de profil de l'administrateur, faites défiler jusqu'à l'onglet Assigned Properties.
    • Dans le formulaire « Assign a New Property », sélectionnez la propriété textuelle, p. ex. (« Test »). (Le formulaire est visible grâce à la permission « Edit Records »).
    • Dans la zone de texte Value qui apparaît, saisissez la charge utile XSS suivante :
      root@kitploit:~
    • Cliquez sur le bouton « Assign ». La charge utile est désormais stockée sur la fiche de l'administrateur. (L'affectation est possible en raison du contrôle d'accès cassé dans PropertyAssign.php).
image
image
  1. Déclencher l'attaque :
    • L'attaquant peut maintenant attendre que l'administrateur se connecte et consulte son propre profil.
    • Lorsque l'administrateur accède à sa propre page de profil (PersonView.php?PersonID=1), la charge utile s'exécute immédiatement et une boîte d'alerte apparaît. L'attaquant pourrait utiliser une charge utile plus avancée pour voler le cookie de session de l'administrateur.
image
image

Impact

Il s'agit d'une vulnérabilité critique d'élévation de privilèges. Elle permet à un utilisateur disposant de permissions spécifiques élevées (mais non administrateur) d'obtenir un contrôle total sur le compte d'un administrateur. En détournant la session de l'administrateur, l'attaquant peut effectuer toute action disponible pour un administrateur, notamment créer de nouveaux comptes administrateur, supprimer des données et éventuellement combiner cette vulnérabilité avec d'autres pour compromettre entièrement le serveur.

Attribution

Signalé par : Łukasz Rybak

Références

  • https://github.com/ChurchCRM/CRM/security/advisories/GHSA-fcw7-mmfh-7vjm

Avertissement

Cette CVE a été divulguée de manière responsable conformément aux pratiques de divulgation coordonnée des vulnérabilités. Les informations fournies ici le sont à des fins éducatives et défensives uniquement.

Télécharger l’outil