Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-35196 — Seconda CVE ancora Remote Code Execution | Kitploit
Strumenti/GitHubGitHub/kx00007/cve-2026-35196
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHubkx00007/cve-2026-35196

CVE-2026-35196

Seconda CVE ancora Remote Code Execution

Vedi Repository
13 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-35196 · Chamilo LMS · Iniezione di Comandi di Sistema → RCE


CVE CVSS CWE Auth Type Shell



Ricercatore: K
Tipo di Divulgazione: Divulgazione Responsabile
Stato: Corretto Prodotto Interessato: Chamilo LMS < 2.0 (Confermato su v1.11.32)


📋 Riepilogo della Vulnerabilità

Scarica lo strumento
FieldDetails
ProdottoChamilo LMS
Versione Interessata< 2.0 (Confermato su v1.11.32)
VulnerabilitàIniezione di Comandi di Sistema
CWECWE-78 — Neutralizzazione impropria di elementi speciali usati in un comando di sistema
Punteggio CVSSv3.18.8 (ALTO)
VectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Autenticazione RichiestaSì (qualsiasi utente autenticato con una sessione avvelenata)
Tipo di ExploitEsecuzione Remota di Codice Autenticata
File Vulnerabilemain/inc/ajax/gradebook.ajax.php

🔍 Descrizione

Una vulnerabilità critica di Iniezione di Comandi di Sistema è presente nell'azione export_all_certificates di main/inc/ajax/gradebook.ajax.php in Chamilo LMS v1.11.32.

L'applicazione recupera un codice corso tramite api_get_course_id(), che legge direttamente da $_SESSION['_cid']. Questo valore derivato dalla sessione viene concatenato senza sanitizzazione in una chiamata shell_exec() — nessun escapeshellarg(), nessuna validazione tramite whitelist, nessun controllo di tipo.

Un attaccante che riesce a manipolare o avvelenare la variabile _cid della propria sessione (tramite session poisoning, concatenamento di IDOR o altre primitive di manipolazione della sessione) può iniettare metacaratteri di shell arbitrari e ottenere piena esecuzione remota di codice come utente del server web (www-data).


🧩 Analisi della Causa Radice

File Vulnerabile: main/inc/ajax/gradebook.ajax.php
Funzione Vulnerabile: export_all_certificates

Quando un utente attiva l'azione export_all_certificates, lo script tenta di avviare un processo in background per elaborare i certificati:

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 &");

Poiché l'applicazione si fida implicitamente del contenuto delle variabili di sessione e non le esegue correttamente l'escape prima di inviarle alla shell di sistema, un attaccante con una sessione manipolata può aggiungere ed eseguire comandi dannosi. Ad esempio, se _cid contiene "; touch /tmp/remote_code_by_k; #", il comando interpretato dalla shell bash/sh diventa:

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

La shell esegue lo script CLI, seguita dal payload iniettato, e ignora il resto della stringa di comando prevista.

💣 Prova di Concetto

  1. Avvelenamento della Sessione: L'attaccante deve prima influenzare la variabile $_SESSION['_cid']. Ciò può essere ottenuto concatenando questa falla con una vulnerabilità di session poisoning o manipolando il valore del codice corso attraverso un IDOR o una gestione non sicura dei parametri altrove nell'applicazione per aggiornare il contesto della propria sessione.
  2. Iniezione del Payload: Impostare la variabile di sessione _cid su: "; [MALICIOUS_COMMAND]; #"
  3. Esecuzione: Inviare una richiesta GET a: /main/inc/ajax/gradebook.ajax.php?a=export_all_certificates&cat_id=1 con il cookie di sessione avvelenato.
  4. Risultato: Il server esegue ciecamente il comando iniettato con i privilegi dell'utente dell'applicazione web (www-data).

📊 Analisi dell'Impatto

DimensionImpact
RiservatezzaAccesso completo in lettura — codice sorgente, configurazioni, credenziali del DB, /etc/passwd
IntegritàScrittura arbitraria di file, deploy di webshell, manipolazione del database
DisponibilitàInterruzione del servizio, distruzione del filesystem, deploy di ransomware
AmbitoProcesso del server web (www-data); potenziale movimento laterale tramite esposizione delle credenziali

🛡️ Raccomandazioni

  • Applicare escapeshellarg(): Avvolgere tutte le variabili derivate dall'utente (come $courseCode, $sessionId e $userList) con escapeshellarg() di PHP prima di passarli a shell_exec() per neutralizzare metacaratteri di sistema arbitrari.
  • Validazione Rigorosa della Sessione: Assicurarsi che le variabili memorizzate nello stato della sessione (ad es. $_SESSION['_cid']) siano tipizzate rigidamente e sanificate, in modo che potenziali attacchi di "Session Poisoning" o concatenamento di IDOR siano bloccati al punto di ingresso.
  • Applicare il Principio del Minimo Privilegio: Configurare il servizio del server web ( www-data) con permessi di scrittura restrittivi sul filesystem e limitare l'accesso dell'applicazione ai binari di shell Linux essenziali per mitigare le capacità post-exploitation.

🧪 Ambiente

ComponentDetails
Sistema OperativoUbuntu Server (Docker)
Server WebApache / Nginx
PHP7.x / 8.x
ApplicazioneChamilo LMS v1.11.32-v2.0
Shell/bin/sh → bash

📎 Riferimenti

  • Repository Ufficiale di Chamilo LMS
  • CWE-78: Iniezione di Comandi di Sistema
  • OWASP: Iniezione di Comandi
  • CVE-2026-29041 — Precedente RCE su Chamilo (CWE-434, CVSS 8.8) dello stesso ricercatore

👤 Ricercatore

root@kitploit:~
Handle  : K
GitHub  : https://github.com/kx00007
Focus   : Server-Side Vulnerability RCE, CVE Hunting, Vulnerability Research, Exploit Development
Prior   : CVE-2026-29041 (Chamilo LMS — Authenticated RCE via File Upload)

⚡Prova di più.