Skip to main content

Chamilo Lms CVE-2026-40291

| EUVDEUVD-2026-22772 HIGH
Improper Privilege Management (CWE-269)
2026-04-14 security-advisories@github.com
8.8
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain student credentials
  2. Delivery
    Authenticate to Chamilo API
  3. Exploit
    Send PUT /api/users/{id} with roles:[ROLE_ADMIN]
  4. Execution
    Bypass ownership-only access check
  5. Impact
    Gain full administrative privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Chamilo LMS versions prior to 2.0.0-RC.3. Attacker must be authenticated with ROLE_STUDENT role. Exploit targets the PUT /api/users/{id} endpoint by modifying the roles field in request to set ROLE_ADMIN. No victim interaction required.

Impact

This vulnerability presents extremely high real-world risk despite requiring authentication (PR:L). The CVSS v3.1 score of 8.8 accurately reflects the severe impact: network-accessible (AV:N), low complexity (AC:L), no user interaction (UI:N), and high impact across confidentiality, integrity, and availability (C:H/I:H/A:H). While EPSS data is not provided, the combination of low attack complexity and devastating impact (full administrative takeover) makes this a priority-one remediation target for any organization running affected Chamilo versions. The attack requires only legitimate student account credentials-a low barrier in educational environments where user registration may be open or loosely controlled. Although no public exploit code exists and CISA KEV does not list active exploitation, the technical simplicity means proof-of-concept development would be trivial (a single authenticated HTTP PUT request with modified JSON payload). SSVC analysis indicates high technical impact (total control), easily automatable exploitation, and while not actively exploited, the vulnerability's disclosure increases exploitation probability. Organizations should treat this as an emergency patch situation for any internet-facing Chamilo instances, particularly those with open enrollment or untrusted student populations.

Exploit ScenarioDerived

A malicious student with valid credentials authenticates to a Chamilo LMS instance and identifies their user ID (available through their profile or session data). The attacker crafts an HTTP PUT request to /api/users/{their_id} with a JSON payload containing their modified user data, crucially setting the roles field to include ROLE_ADMIN. The inadequate authorization check validates only that the user owns the record being modified, not whether they have permission to change security-critical fields, allowing the request to succeed. The student account is immediately elevated to administrator, granting unrestricted access to all courses, the ability to view and modify grades for all students, access to personally identifiable information of all users, and control over system configuration.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 14, 2026

Privilege escalation in Chamilo LMS versions prior to 2.0.0-RC.3 allows authenticated students to gain full administrative access via API manipulation. Low-privilege users (ROLE_STUDENT) can modify their own user record through the PUT /api/users/{id} endpoint to assign themselves ROLE_ADMIN privileges, bypassing intended access controls. The vulnerability stems from inadequate authorization checks that verify only record ownership without restricting modification of security-critical fields. With CVSS 8.8 (High) and low attack complexity requiring only basic authentication, this represents a critical access control failure in educational platforms. No public exploit code or active exploitation (CISA KEV) identified at time of analysis, though the straightforward attack vector makes exploitation trivial for malicious insiders.

RemediationAI

Immediately upgrade to Chamilo LMS version 2.0.0-RC.3 or later, which contains fixes that properly restrict modification of the roles field through API endpoints. The patched release is available at https://github.com/chamilo/chamilo-lms/releases/tag/v2.0.0-RC.3. Organizations unable to immediately upgrade should implement compensating controls including restricting network access to the /api/users/ endpoint to trusted administrative networks only, implementing web application firewall rules to block PUT requests to /api/users/{id} containing roles field modifications, and conducting immediate audits of user role assignments to identify any unauthorized privilege escalations that may have already occurred. Review application logs for suspicious PUT requests to the users API endpoint, particularly those originating from student accounts. After upgrading, verify that the roles field is no longer writable through the API by non-administrative users and consider implementing additional monitoring for privilege changes. Consult the GitHub security advisory at https://github.com/chamilo/chamilo-lms/security/advisories/GHSA-7phx-w897-4c9x for additional vendor guidance.

Affected VersionsENISA

chamilo-lms < 2.0-RC.3

Affected Packages

euvd chamilo_lms fix: 2.0-RC.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Chamilo LMS is an open-source learning management system built on API Platform, which uses Symfony security expressions for authorization. The vulnerability resides in the API Platform security configuration for the User entity's PUT endpoint. The security expression is_granted('EDIT', object) performs ownership validation but fails to implement attribute-level access control. The roles field is improperly included in the writable serialization group, allowing authenticated users to modify their own role assignments through standard HTTP PUT requests. This represents a classic example of CWE-269 (Improper Privilege Management), where the application fails to properly validate authorization for privilege-modifying operations. The API Platform framework's declarative security model relies on developers explicitly restricting access to sensitive fields, which was not implemented for the roles attribute. The vulnerability specifically affects the /api/users/{id} REST endpoint where {id} can be the authenticated user's own identifier.

Know when Chamilo Lms gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Primary rating from Vendor (github) · only source for this CVE.

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Patch released
Apr 22, 2026 - 18:37 nvd
Patch available
Analysis Updated
Apr 16, 2026 - 05:56 EUVD-patch-fix
executive summary
Patch available
Apr 16, 2026 - 05:29 EUVD
2.0-RC.3
CVE Published
Apr 14, 2026 - 22:16 nvd
HIGH 8.8

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

Chamilo LMS versions prior to 2.0.0-RC.3 contain a privilege escalation vulnerability allowing any authenticated student to grant themselves administrator access through API manipulation, potentially compromising institutional data security and student records across educational deployments. This access control failure enables insiders with minimal technical skill to assume full platform control, posing significant risk to organizations managing sensitive educational and administrative information.

Business Impact: High
Compensating Controls

Vendor-released patch: Chamilo LMS version 2.0.0-RC.3 or later. If immediate patching is not feasible: (1) Restrict API endpoint /api/users/{id} at network/firewall level to administrative IP ranges only; (2) Disable student self-service account modification features in application settings; (3) Implement real-time monitoring on user role modifications with alerts for ROLE_ADMIN assignment; (4) Require multi-factor authentication for all administrative accounts.

Threat Intelligence Overview

EPSS Score
0.0%
Top 88% exploitable
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

CVE-2025-50187 CRITICAL POC
9.8 Mar 02

Chamilo LMS prior to 1.11.28 has a code injection through SOAP request parameters enabling remote code execution.

CVE-2025-50192 CRITICAL POC
9.8 Mar 02

Chamilo LMS prior to 1.11.30 has a time-based SQL injection in a different endpoint, providing an additional database ex

CVE-2025-50190 CRITICAL POC
9.8 Mar 02

Chamilo LMS prior to 1.11.30 has an error-based SQL injection enabling database extraction.

CVE-2021-35414 CRITICAL POC
9.8 Dec 03

Chamilo LMS v1.11.x was discovered to contain a SQL injection via the doc parameter in main/plagiarism/compilatio/upload

CVE-2019-13082 CRITICAL POC
9.8 Jun 30

Chamilo LMS 1.11.8 and 2.x allows remote code execution through an lp_upload.php unauthenticated file upload feature. Ra

CVE-2025-50199 CRITICAL POC
9.1 Mar 02

Chamilo LMS prior to 1.11.30 has a blind SSRF vulnerability enabling internal network reconnaissance from the learning p

CVE-2023-4220 MEDIUM POC
6.1 Nov 28

Unrestricted file upload in big file upload functionality in `/main/inc/lib/javascript/bigupload/inc/bigUpload.php` in C

CVE-2025-50189 HIGH POC
8.8 Mar 02

Chamilo is a learning management system. [CVSS 8.8 HIGH]

CVE-2025-52468 HIGH POC
8.8 Mar 02

Chamilo is a learning management system. Prior to version 1.11.30, an input validation vulnerability exists when importi

CVE-2024-30616 HIGH POC
8.8 Nov 04

Chamilo LMS 1.11.26 is vulnerable to Incorrect Access Control via main/auth/profile. Rated high severity (CVSS 8.8), thi

CVE-2023-4226 HIGH POC
8.8 Nov 28

Unrestricted file upload in `/main/inc/ajax/work.ajax.php` in Chamilo LMS <= v1.11.24 allows authenticated attackers wit

CVE-2023-4225 HIGH POC
8.8 Nov 28

Unrestricted file upload in `/main/inc/ajax/exercise.ajax.php` in Chamilo LMS <= v1.11.24 allows authenticated attackers

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy