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-2026-35196 — Deuxième CVE toujours une exécution de code à distance | Kitploit
Outils/GitHubGitHub/kx00007/cve-2026-35196
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHubkx00007/cve-2026-35196

CVE-2026-35196

Deuxième CVE toujours une exécution de code à distance

Voir le dépôt
1il y a 3 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-2026-35196 · Chamilo LMS · Injection de commandes OS → RCE


CVE CVSS CWE Auth Type Shell



Chercheur : K
Type de divulgation : Divulgation responsable
Statut : Corrigé
Produit affecté : Chamilo LMS < 2.0 (Confirmé sur v1.11.32)


📋 Résumé de la vulnérabilité

ChampDétails
ProduitChamilo LMS
Version affectée< 2.0 (Confirmé sur v1.11.32)
VulnérabilitéInjection de commandes OS
CWECWE-78 — Neutralisation incorrecte des éléments spéciaux utilisés dans une commande OS
Score CVSSv3.18.8 (ÉLEVÉ)
VecteurCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Authentification requiseOui (tout utilisateur authentifié avec une session empoisonnée)
Type d'exploitExécution de code à distance authentifiée
Fichier vulnérablemain/inc/ajax/gradebook.ajax.php

🔍 Description

Une vulnérabilité critique d'injection de commandes OS existe dans l'action export_all_certificates du fichier main/inc/ajax/gradebook.ajax.php de Chamilo LMS v1.11.32.

L'application récupère un code de cours via api_get_course_id(), qui lit directement depuis $_SESSION['_cid']. Cette valeur dérivée de la session est concaténée sans assainissement dans un appel shell_exec() — pas de escapeshellarg(), pas de validation de liste blanche, pas de contrôle de type.

Un attaquant qui peut manipuler ou empoisonner la variable _cid de sa session (via un empoisonnement de session, un enchaînement IDOR ou d'autres primitives de manipulation de session) peut injecter des métacaractères shell arbitraires et obtenir une exécution de code à distance complète en tant qu'utilisateur du serveur web (www-data).


🧩 Analyse de la cause racine

Fichier vulnérable : main/inc/ajax/gradebook.ajax.php
Fonction vulnérable : export_all_certificates

Lorsqu'un utilisateur déclenche l'action export_all_certificates, le script tente d'exécuter un processus en arrière-plan pour le traitement des certificats :

root@kitploit:~
$courseCode = api_get_course_id(); // Retrieves the value from $_SESSION['_cid']
$sessionId = api_get_session_id();
// ...
$commandScript = api_get_path(SYS_CODE_PATH).'gradebook/cli/export_all_certificates.php';
$userList = implode(',', $userList);

// Flaw: Variables like $courseCode are passed directly to the shell without escapeshellarg()
shell_exec("php $commandScript $courseCode $sessionId $categoryId $userList > /dev/null &");

Parce que l'application fait implicitement confiance au contenu des variables de session et ne les échappe pas correctement avant de les envoyer au shell système, un attaquant avec une session manipulée peut ajouter et exécuter des commandes malveillantes. Par exemple, si _cid contient "; touch /tmp/remote_code_by_k; #", la commande interprétée par le shell bash/sh devient :

root@kitploit:~
php /var/www/chamilo/main/gradebook/cli/export_all_certificates.php ; touch /tmp/remote_code_by_k; # ... > /dev/null &

Le shell exécute le script CLI, suivi de la charge utile injectée, et ignore le reste de la chaîne de commande prévue.

💣 Preuve de concept

  1. Empoisonnement de session : L'attaquant doit d'abord influencer la variable $_SESSION['_cid']. Cela peut être réalisé en enchaînant cette faille avec une vulnérabilité d'empoisonnement de session ou en manipulant la valeur du code de cours via un IDOR ou une gestion de paramètre non sécurisée ailleurs dans l'application pour mettre à jour le contexte de sa session.
  2. Injection de charge utile : Définissez la variable de session _cid sur : "; [MALICIOUS_COMMAND]; #"
  3. Exécution : Envoyez une requête GET à : /main/inc/ajax/gradebook.ajax.php?a=export_all_certificates&cat_id=1 avec le cookie de session empoisonné.
  4. Résultat : Le serveur exécute aveuglément la commande injectée avec les privilèges de l'utilisateur de l'application web (www-data).

📊 Analyse d'impact

DimensionImpact
ConfidentialitéAccès en lecture complet — code source, configurations, identifiants de base de données, /etc/passwd
IntégritéÉcriture de fichier arbitraire, déploiement de webshell, manipulation de base de données
DisponibilitéInterruption de service, destruction du système de fichiers, déploiement de ransomware
PortéeProcessus du serveur web (www-data); potentiel de mouvement latéral via l'exposition d'identifiants

🛡️ Recommandations

  • Appliquer escapeshellarg() : Enveloppez toutes les variables dérivées de l'utilisateur (comme $courseCode, $sessionId et $userList) avec escapeshellarg() de PHP avant de les passer à shell_exec() pour neutraliser les métacaractères OS arbitraires.
  • Validation stricte de session : Assurez-vous que les variables stockées dans l'état de session (par exemple $_SESSION['_cid']) sont rigoureusement typées et assainies afin que les potentielles attaques d'« empoisonnement de session » ou d'enchaînement IDOR soient bloquées au point d'entrée.
  • Appliquer le moindre privilège : Configurez le service du serveur web (www-data) avec des permissions d'écriture restrictives sur le système de fichiers et limitez l'accès de l'application aux binaires shell Linux essentiels pour atténuer les capacités post-exploitation.

🧪 Environnement

ComposantDétails
OSUbuntu Server (Docker)
Serveur webApache / Nginx
PHP7.x / 8.x
ApplicationChamilo LMS v1.11.32-v2.0
Shell/bin/sh → bash

📎 Références

  • Dépôt officiel de Chamilo LMS
  • CWE-78 : Injection de commandes OS
  • OWASP : Injection de commandes
  • CVE-2026-29041 — RCE Chamilo antérieur (CWE-434, CVSS 8.8) par le même chercheur

👤 Chercheur

root@kitploit:~
Pseudonyme  : K
GitHub  : https://github.com/kx00007
Domaine   : Vulnérabilité RCE côté serveur, Chasse aux CVE, Recherche de vulnérabilités, Développement d'exploits
Précédent   : CVE-2026-29041 (Chamilo LMS — RCE authentifiée via téléchargement de fichier)

⚡Essayez plus fort.

Télécharger l’outil