Chamilo LMS OS Command Injection Vulnerability (CVE-2026-35196)
Chamilo LMS versions prior to 2.0.0-RC.3 are vulnerable to OS Command Injection via the _cid session variable in the export_all_certificates action, potentially leading to arbitrary command execution.
CVE search metadata
CVE search record: CVE-2026-35196. Severity: high. CVSS: 8.8. EPSS: 1.76%. KEV: no. Product: Chamilo Lms, Chamilo Lms, Chamilo Lms, Chamilo Lms, Chamilo Lms, Chamilo Lms, Chamilo Lms, Chamilo Lms +3 more. Brief: Chamilo LMS OS Command Injection Vulnerability (CVE-2026-35196). Brief link: https://feed.craftedsignal.io/briefs/2024-01-chamilo-os-command-injection/
What's new
- 1. poc_available Sep 16, 17:57 via sploitus
Chamilo LMS, an open-source learning management system, is susceptible to an OS Command Injection vulnerability (CVE-2026-35196) in versions prior to 2.0.0-RC.3. The vulnerability resides in the main/inc/ajax/gradebook.ajax.php endpoint, specifically within the export_all_certificates action. An attacker can exploit this flaw by manipulating the _cid session variable. Due to insufficient sanitization, the _cid value is directly concatenated into a shell_exec() command string. This allows an attacker to inject shell metacharacters and execute arbitrary commands on the underlying server. Successful exploitation could grant an attacker full access to read system files and credentials, modify the application and database, or disrupt server availability. Version 2.0.0-RC.3 addresses and resolves this vulnerability.
Attack Chain
- The attacker identifies a Chamilo LMS instance running a version prior to 2.0.0-RC.3.
- The attacker gains a valid session, potentially through legitimate login or other means.
- The attacker manipulates the
_cidsession variable, injecting shell metacharacters (e.g.,;,|,&&) and a malicious command. This can be achieved through browser developer tools or intercepting/modifying HTTP requests. - The attacker triggers the
export_all_certificatesaction in themain/inc/ajax/gradebook.ajax.phpendpoint. - The application retrieves the attacker-controlled
_cidvalue from the session usingapi_get_course_id(). - The application concatenates the unsanitized
_cidvalue into ashell_exec()command. - The
shell_exec()function executes the injected command on the server. - The attacker gains arbitrary command execution, allowing them to read sensitive files, modify the application, or disrupt the server.
Impact
Successful exploitation of CVE-2026-35196 allows an attacker to execute arbitrary commands on the Chamilo LMS server. This could lead to the compromise of sensitive data, including system files, credentials, and database contents. An attacker can also modify the application, inject malicious code, or disrupt server availability, leading to a complete loss of confidentiality, integrity, and availability. The number of potential victims is related to the number of unpatched Chamilo LMS instances exposed to the internet. Sectors affected may include education and training organizations.
Recommendation
- Upgrade Chamilo LMS to version 2.0.0-RC.3 or later to patch CVE-2026-35196.
- Deploy the Sigma rule "Chamilo LMS OS Command Injection Attempt" to your SIEM and tune for your environment to detect attempts to exploit the vulnerability via web server logs.
- Monitor web server logs for suspicious requests to
main/inc/ajax/gradebook.ajax.phpcontaining shell metacharacters in the_cidparameter. - Implement input validation and sanitization for all user-supplied data, especially session variables, to prevent command injection attacks.
Detection coverage 2
Chamilo LMS OS Command Injection Attempt
criticalDetects potential OS Command Injection attempts in Chamilo LMS by identifying suspicious requests to gradebook.ajax.php with shell metacharacters in the _cid parameter.
Chamilo LMS Suspicious Shell Execution via Webserver
highDetects potential OS Command Injection attempts resulting in shell execution from the webserver
Detection queries are available on the platform. Get full rules →