Chamilo LMS: Stored XSS via Malicious File Upload in Social Post Attachments Leads to Arbitrary JavaScript Execution
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-79.
Summary
Chamilo LMS is an open-source learning management system. In versions prior to 2.0.0-RC.3, a Stored Cross-Site Scripting (XSS) vulnerability exists in the social post attachment upload functionality, where an authenticated user can upload a malicious HTML file containing JavaScript via the /api/social_post_attachments endpoint. The uploaded file is served back from the application at the generated contentUrl without sanitization, content type restrictions, or a Content-Disposition: attachment header, causing the JavaScript to execute in the browser within the application's origin. Because the payload is stored server-side and runs in the trusted origin, an attacker can perform session hijacking, account takeover, privilege escalation (if an admin views the link), and arbitrary actions on behalf of the victim. 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
- Partial
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.0-RC.3 | 2.0.0-RC.3 | Patch available | CNA |
- chamilo-lms Vendorchamilo Affected before 2.0.0-RC.3 Fixed in 2.0.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.0-RC.3
Timeline
- 2026-10-02 Threatist record created from CVE-2026-34161
References
Patch 2
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