CVE-2025-59542

9.0 CRITICAL

📋 TL;DR

A stored cross-site scripting (XSS) vulnerability in Chamilo LMS allows low-privileged users (like trainers) to inject malicious JavaScript into course learning path settings. When other users, including administrators, view the affected course information page, the attacker's code executes in their browser context, potentially leading to session cookie theft and account takeover. All Chamilo installations prior to version 1.11.34 are affected.

💻 Affected Systems

Products:
  • Chamilo LMS
Versions: All versions prior to 1.11.34
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires at least low-privileged account access (e.g., trainer role) to exploit. The vulnerability exists in the course learning path settings functionality.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Administrator account takeover leading to complete system compromise, data exfiltration, and further privilege escalation across the learning management system.

🟠

Likely Case

Session hijacking of higher-privileged users, unauthorized access to sensitive student/administrator data, and potential lateral movement within the platform.

🟢

If Mitigated

Limited impact with proper input validation and output encoding, though the vulnerability still exists in the codebase.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access with trainer-level privileges. The attack vector is straightforward - injecting JavaScript into a settings field that gets stored and executed when viewed by others.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.11.34

Vendor Advisory: https://github.com/chamilo/chamilo-lms/security/advisories/GHSA-pxrh-3rcp-h7m6

Restart Required: No

Instructions:

1. Backup your Chamilo installation and database. 2. Download version 1.11.34 from the official repository. 3. Replace the existing installation files with the patched version. 4. Run any database update scripts if provided. 5. Clear application caches.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement server-side input validation to sanitize JavaScript from course learning path settings fields

Not applicable - requires code modification

Content Security Policy

all

Implement strict Content Security Policy headers to mitigate XSS impact

Add 'Content-Security-Policy: script-src 'self'' to web server configuration

🧯 If You Can't Patch

  • Restrict trainer role permissions to prevent access to course learning path settings
  • Implement web application firewall (WAF) rules to block XSS payloads in course settings

🔍 How to Verify

Check if Vulnerable:

Check if your Chamilo version is below 1.11.34. Attempt to inject basic JavaScript (like <script>alert('test')</script>) into course learning path settings as a trainer user.

Check Version:

Check the main/inc/conf/configuration.php file or the About page in the Chamilo admin interface for version information

Verify Fix Applied:

After upgrading to 1.11.34, attempt the same XSS injection. The JavaScript should be properly sanitized and not execute when viewed by other users.

📡 Detection & Monitoring

Log Indicators:

  • Unusual JavaScript patterns in course settings updates
  • Multiple failed login attempts from new locations following course views
  • Administrator account access from unusual IP addresses

Network Indicators:

  • Outbound connections to suspicious domains following course page views
  • Unexplained data exfiltration patterns

SIEM Query:

source="chamilo_logs" AND (message="*script*" OR message="*javascript*") AND action="course_update"

🔗 References

📤 Share & Export