Chamilo LMS has Privilege Escalation via API User Role Modification
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Privilege escalation, Security bypass
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-269 and CWE-863.
Summary
Chamilo LMS is an open-source learning management system. In versions prior to 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. The API Platform security expression is_granted('EDIT', object) only verifies record ownership, and the roles field is included in the writable serialization group, enabling any user to set arbitrary roles such as ROLE_ADMIN. Successful exploitation grants full administrative control of the platform, including access to all courses, user data, grades, and administrative settings. This issue has been fixed in version 2.0.0-RC.3.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| chamilo | chamilo-lms | before 2.0-RC.3 | 2.0-RC.3 | Patch available | CNA |
- chamilo-lms Vendorchamilo Affected before 2.0-RC.3 Fixed in 2.0-RC.3 Patch available CNA
CPE configurations NVD · 11
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:chamilo:chamilo_lms:*:*:*:*:*:*:*:* | up to 1.11.38 | Vulnerable | chamilo |
| cpe:2.3:a:chamilo:chamilo_lms:2.0.0:alpha1:*:*:*:*:*:* | 2.0.0 alpha1 | Vulnerable | chamilo |
| cpe:2.3:a:chamilo:chamilo_lms:2.0.0:alpha2:*:*:*:*:*:* | 2.0.0 alpha2 | Vulnerable | chamilo |
| cpe:2.3:a:chamilo:chamilo_lms:2.0.0:alpha3:*:*:*:*:*:* | 2.0.0 alpha3 | Vulnerable | chamilo |
| cpe:2.3:a:chamilo:chamilo_lms:2.0.0:alpha4:*:*:*:*:*:* | 2.0.0 alpha4 | Vulnerable | chamilo |
| cpe:2.3:a:chamilo:chamilo_lms:2.0.0:alpha5:*:*:*:*:*:* | 2.0.0 alpha5 | Vulnerable | chamilo |
| cpe:2.3:a:chamilo:chamilo_lms:2.0.0:beta1:*:*:*:*:*:* | 2.0.0 beta1 | Vulnerable | chamilo |
| cpe:2.3:a:chamilo:chamilo_lms:2.0.0:beta2:*:*:*:*:*:* | 2.0.0 beta2 | Vulnerable | chamilo |
| cpe:2.3:a:chamilo:chamilo_lms:2.0.0:beta3:*:*:*:*:*:* | 2.0.0 beta3 | Vulnerable | chamilo |
| cpe:2.3:a:chamilo:chamilo_lms:2.0.0:rc1:*:*:*:*:*:* | 2.0.0 rc1 | Vulnerable | chamilo |
- cpe:2.3:a:chamilo:chamilo_lms:*:*:*:*:*:*:*:* Versions up to 1.11.38 Vulnerable ·chamilo
- cpe:2.3:a:chamilo:chamilo_lms:2.0.0:alpha1:*:*:*:*:*:* Versions 2.0.0 alpha1 Vulnerable ·chamilo
- cpe:2.3:a:chamilo:chamilo_lms:2.0.0:alpha2:*:*:*:*:*:* Versions 2.0.0 alpha2 Vulnerable ·chamilo
- cpe:2.3:a:chamilo:chamilo_lms:2.0.0:alpha3:*:*:*:*:*:* Versions 2.0.0 alpha3 Vulnerable ·chamilo
- cpe:2.3:a:chamilo:chamilo_lms:2.0.0:alpha4:*:*:*:*:*:* Versions 2.0.0 alpha4 Vulnerable ·chamilo
- cpe:2.3:a:chamilo:chamilo_lms:2.0.0:alpha5:*:*:*:*:*:* Versions 2.0.0 alpha5 Vulnerable ·chamilo
- cpe:2.3:a:chamilo:chamilo_lms:2.0.0:beta1:*:*:*:*:*:* Versions 2.0.0 beta1 Vulnerable ·chamilo
- cpe:2.3:a:chamilo:chamilo_lms:2.0.0:beta2:*:*:*:*:*:* Versions 2.0.0 beta2 Vulnerable ·chamilo
- cpe:2.3:a:chamilo:chamilo_lms:2.0.0:beta3:*:*:*:*:*:* Versions 2.0.0 beta3 Vulnerable ·chamilo
- cpe:2.3:a:chamilo:chamilo_lms:2.0.0:rc1:*:*:*:*:*:* Versions 2.0.0 rc1 Vulnerable ·chamilo
Remediation
- Fix · CNA chamilo-lms (chamilo) Fixed in 2.0-RC.3
Timeline
- 2026-10-02 Threatist record created from CVE-2026-40291
References
More Chamilo Lms vulnerabilities
- TI-2025-32070 Chamilo: Evaluation of untrusted user input leads to Remote Code Execution CVSS 3.1CRITICAL 9.8
- TI-2025-32081 Deserialization of untrusted data in chamilo-lms CVSS 4.0HIGH 8.8
- TI-2024-32140 Chamilo: Post-Auth Remote Code Execution CVSS 4.0HIGH 8.7
- TI-2023-03907 Chamilo LMS Unauthenticated Big Upload File Remote Code Execution CVSS 3.1HIGH 8.1
- TI-2025-32595 Chamilo: Stored XSS Vulnerability via CSV User Import CVSS 3.1HIGH 8.8
- TI-2024-20321 Chamilo LMS 1.11.26 is vulnerable to Incorrect Access Control via main/auth/profile. CVSS 3.1HIGH 8.8
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences