
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-34602 is an Insecure Direct Object Reference (IDOR) / Broken Object Level Authorization (BOLA) vulnerability in Chamilo LMS affecting the /api/course_rel_users API endpoint. It allows an authenticated attacker with low privileges to enroll any arbitrary user into any course by manipulating the user parameter in the request body, bypassing all authorization checks. Affected versions include all 1.x releases through 1.11.38, and 2.0.0-alpha1 through 2.0.0-RC.2; the issue is fixed in version 2.0.0-RC.3. It carries a CVSS v3.1 base score of 7.1 (High) (GitHub Advisory).
The root cause is classified as CWE-639 (Authorization Bypass Through User-Controlled Key). The vulnerable POST /api/course_rel_users endpoint accepts a JSON payload containing a user field (e.g., "/api/users/{user_id}"), and the backend blindly trusts this user-supplied value without verifying that the authenticated requester owns the referenced user_id or has permission to act on behalf of that user. The fix introduced a CourseRelUserStateProcessor class that enforces securityPostDenormalize: 'object.getUser() == user', ensuring the enrolled user matches the authenticated session, and additionally validates that the target course is available in the public catalogue for non-admin users (GitHub Advisory, Patch Commit).
An authenticated attacker can exploit this vulnerability to enroll any platform user into any course without authorization, granting unintended access to course materials and bypassing enrollment controls. This compromises platform integrity and may expose sensitive educational content to unauthorized parties. While availability is unaffected and there is no direct remote code execution, the high integrity impact stems from the ability to manipulate user-course relationships across the entire platform, potentially affecting all users and administrators (GitHub Advisory).
There is no public proof-of-concept exploit code and no evidence of in-the-wild exploitation at this time (Feedly). The vulnerability requires only a low-privilege authenticated account and no user interaction, making it relatively easy to exploit once access is obtained. The EPSS score is approximately 0.028% (0.000280), indicating a low current probability of exploitation in the wild. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog.
/api/users) and course IDs (e.g., /api/courses) accessible to the authenticated session./api/course_rel_users with a JSON body substituting the victim's user ID:{
"user": "/api/users/{victim_user_id}",
"course": "/api/courses/{target_course_id}",
"relationType": 0,
"status": 5
}"username": "jbaker") confirming the backend processed the attacker-controlled user reference without authorization checks./api/course_rel_users from authenticated users where the user field in the JSON body references a user ID different from the authenticated session's user ID; high volume of enrollment API calls from a single account in a short timeframe./api/course_rel_users with varying user IDs from the same authenticated session; response bodies containing usernames or full names not matching the requesting user.The primary remediation is to upgrade Chamilo LMS to version 2.0.0-RC.3 or later, which introduces the CourseRelUserStateProcessor with proper post-denormalization authorization checks (RC.3 Release). For organizations unable to upgrade immediately, implement network-level access controls to restrict access to the /api/course_rel_users endpoint to trusted systems only, and audit all course enrollment logs for unauthorized changes. Additionally, review and verify all existing user-course relationships in the system for anomalies that may indicate prior exploitation.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."