Overview
A stored cross-site scripting (XSS) vulnerability was discovered in Chamilo LMS versions up to 1.11.28. The issue allows an authenticated admin user to inject JavaScript via the "Session Category" feature, which gets executed in the context of other administrative users.
Affected Versions
- Chamilo LMS ≤ 1.11.28
Technical Details
The vulnerability is found in the file session_category_add.php, where user-supplied input for the Category Name is not properly sanitized before being stored in the database.
This input is rendered unescaped in add_many_sessions_to_category.php, leading to persistent XSS execution when the page is visited by any other admin user.
Steps to reproduce:
1. Login as an admin user.
2. Go to session_category_add.php.
3. Enter the following payload in the Category Name field:
<img/src/onerror=alert(2)>
4. Submit the form.
5. Navigate to add_many_sessions_to_category.php.
6. The alert will trigger, demonstrating successful XSS.
Impact
This stored XSS vulnerability allows a privileged attacker to:
- Inject persistent JavaScript code into the platform.
- Hijack sessions of other administrators.
- Steal sensitive information or perform actions in the context of another admin.
- Escalate internal attacks in environments with multiple trusted users.
Solution
- Upgrade to Chamilo LMS 1.11.30 or later.
- Direct patch: GitHub Commit Fix - https://github.com/chamilo/chamilo-lms/commit/ead79db4eb034b8c11a3d6036759d083de37530c
- Ensure proper sanitization and escaping of user input before display.
Timeline
- 2025-05-16 – Vulnerability reported
- 2025-06-17 – Patch committed
- 2025-06-18 – CVE assigned (CVE-2025-52470)
- 2025-07-01 – Securiy issue Release
References
- Patch Commit on GitHub - https://github.com/chamilo/chamilo-lms/commit/ead79db4eb034b8c11a3d6036759d083de37530c
- Chamilo security issues - https://github.com/chamilo/chamilo-lms/wiki/security-issues#issue-201---2025-05-13---low-impact-low-risk---stored-cross-site-scripting-xss-via-session-category-cve-2025-52470
- Video PoC - https://archive.org/details/cve-2025-52470