CVE-2026-35196
HighCVSS 8.8Exploitation Probability (EPSS)
High risk76th percentile - higher than 76% of all known CVEs
Summary
In Chamilo LMS prior to 2.0.0-RC.3, an OS command injection exists in main/inc/ajax/gradebook.ajax.php in the export_all_certificates action. The course code from the session is concatenated into shell_exec() without sanitization, allowing arbitrary command execution via session manipulation.
Risk Assessment
An attacker can gain full filesystem access, read credentials, modify the application and database, or disrupt server availability.
Recommendation
Update Chamilo LMS to version 2.0.0-RC.3 or later, which fixes this vulnerability.
Other vulnerabilities in Chamilo LMS
See all- CVE-2026-39878Critical
Chamilo LMS versions 1.11.38 and earlier contain a stored cross-site scripting vulnerability in the user registration form. An unauthenticated attacker can execute arbitrary JavaScript in an administrator's browser session, leading to full platform admin account takeover.
- CVE-2026-40291High
In Chamilo LMS prior to version 2.0.0-RC.3, an insecure direct object modification vulnerability in the PUT /api/users/{id} endpoint allows any authenticated user with ROLE_STUDENT to escalate their privileges to ROLE_ADMIN by modifying the roles field on their own user record.
- CVE-2026-34602High
An Insecure Direct Object Reference (IDOR) vulnerability in the /api/course_rel_users endpoint of Chamilo LMS prior to version 2.0.0-RC.3. An authenticated attacker can modify the user parameter in the request to enroll any arbitrary user into any course without proper authorization. The backend trusts user-supplied input and does not verify if the requester has permission to act on behalf of other users.
- CVE-2026-34370Medium
Chamilo LMS versions prior to 2.0.0-RC.3 have an IDOR vulnerability in the notebook module. An authenticated student can read private notes of any other user by manipulating the notebook_id parameter in the editnote action. The application fetches note content without ownership verification.
- CVE-2026-34161Medium
Chamilo LMS is an open-source learning management system. In versions prior to 2.0.0-RC.3, a Stored Cross-Site Scripting (XSS) vulnerability exists in the social post attachment upload functionality. An authenticated user can upload a malicious HTML file containing JavaScript via the /api/social_post_attachments endpoint. The file is served without sanitization, content type restrictions, or Content-Disposition header, causing JavaScript execution in the application context. This can lead to session hijacking, account takeover, privilege escalation, and other actions. This issue has been fixed in version 2.0.0-RC.3.
- CVE-2026-34160High
Chamilo LMS before version 2.0.0-RC.3 has a Server-Side Request Forgery (SSRF) vulnerability in the PENS plugin endpoint. The endpoint is accessible without authentication and accepts a package-url parameter that the server fetches without filtering private IP addresses.
- CVE-2026-33715High
Chamilo LMS version 2.0-RC.2 has an unauthenticated endpoint install.ajax.php that accepts arbitrary Symfony Mailer DSN, enabling SSRF into internal networks via SMTP. An unauthenticated attacker can also use the server as an open email relay.
- CVE-2023-39582Medium
SQL Injection vulnerability in Chamilo LMS versions 1.11 through 1.11.20 allows a remote privileged attacker to obtain sensitive information via the import sessions functions.
- CVE-2023-31807Medium
A Cross-Site Scripting vulnerability was found in Chamilo LMS version 1.11.18. It allows a local attacker to execute arbitrary code via a crafted payload in the personal notes function.
- CVE-2023-31806Medium
A Cross-Site Scripting (XSS) vulnerability was found in Chamilo LMS version 1.11.18 in the 'My Progress' function. A local attacker can execute arbitrary JavaScript code via a crafted payload.
Original NVD description (English source)
Chamilo LMS is an open-source learning management system. In versions prior to 2.0.0-RC.3, an OS Command Injection vulnerability exists in the main/inc/ajax/gradebook.ajax.php endpoint within the export_all_certificates action, where the course code retrieved from the session variable $_SESSION['_cid'] via api_get_course_id() is concatenated directly into a shell_exec() command string without sanitization or escaping using escapeshellarg(). If an attacker can manipulate or poison their session data to inject shell metacharacters into the _cid variable, they can achieve arbitrary command execution on the underlying server. Successful exploitation grants full access to read system files and credentials, alters the application and database, or disrupts server availability. This issue has been fixed in version 2.0.0-RC.3.

