CVE-2025-55289

8.8 HIGH

📋 TL;DR

This stored XSS vulnerability in Chamilo LMS allows attackers to inject malicious JavaScript into social network and messaging features. When authenticated users view the injected content, the payload executes in their browser, potentially leading to account takeover, unauthorized actions, and data theft. All users of Chamilo LMS versions before 1.11.34 are affected.

💻 Affected Systems

Products:
  • Chamilo LMS
Versions: All versions prior to 1.11.34
Operating Systems: All platforms running Chamilo LMS
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in default installation of affected versions. Requires attacker to have ability to post content in social network or messaging features.

⚠️ 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

Full account takeover of administrators leading to complete system compromise, data exfiltration, and self-propagation to all users through messaging features.

🟠

Likely Case

Session hijacking of regular users leading to unauthorized access to courses, grades, and personal information, with potential escalation to administrative accounts.

🟢

If Mitigated

Limited impact if proper input validation and output encoding are implemented, though stored XSS remains dangerous in messaging contexts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires attacker to have some level of access to post content, but stored XSS payloads are simple to craft and execute automatically when viewed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.11.34

Vendor Advisory: https://github.com/chamilo/chamilo-lms/security/advisories/GHSA-cchj-3qmf-82j5

Restart Required: No

Instructions:

1. Backup your Chamilo installation and database. 2. Download version 1.11.34 from the official repository. 3. Replace all files with the new version. 4. Run the database upgrade script if prompted. 5. Verify functionality.

🔧 Temporary Workarounds

Disable Social Features

all

Temporarily disable social network and messaging features to prevent exploitation.

Edit Chamilo configuration to disable social tools

Content Security Policy

all

Implement strict CSP headers to block inline JavaScript execution.

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

🧯 If You Can't Patch

  • Implement web application firewall rules to block XSS payload patterns
  • Enable strict input validation and output encoding for all user-generated content

🔍 How to Verify

Check if Vulnerable:

Check Chamilo version in admin panel or by examining source code files. Versions below 1.11.34 are vulnerable.

Check Version:

Check main/inc/conf/configuration.php or admin panel version display

Verify Fix Applied:

After patching, verify version shows 1.11.34 or higher in admin panel. Test social and messaging features with safe test payloads.

📡 Detection & Monitoring

Log Indicators:

  • Unusual JavaScript patterns in user posts or messages
  • Multiple failed login attempts from new locations after user viewed content

Network Indicators:

  • Outbound connections to suspicious domains from LMS server
  • Unusual data exfiltration patterns

SIEM Query:

source="chamilo_logs" AND (message="*<script>*" OR message="*javascript:*")

🔗 References

📤 Share & Export