Severity by source
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
Lifecycle Timeline
4DescriptionGitHub Advisory
Chamilo LMS is a learning management system. Prior to 1.11.38 and 2.0.0-RC.3, multiple files use simplexml_load_string() without XXE protection. With LIBXML_NOENT flag, arbitrary server files can be read. This vulnerability is fixed in 1.11.38 and 2.0.0-RC.3.
AnalysisAI
Chamilo LMS versions prior to 1.11.38 and 2.0.0-RC.3 allow authenticated attackers to read arbitrary server files through XML External Entity (XXE) injection via improper use of simplexml_load_string() with the LIBXML_NOENT flag enabled across multiple application files. The vulnerability requires low-privilege authentication and medium attack complexity but grants high confidentiality impact with no integrity or availability impact; no public exploit code or active exploitation has been identified at the time of analysis.
Technical ContextAI
The vulnerability stems from CWE-611 (Improper Restriction of XML External Entity Reference) in which multiple PHP files within Chamilo LMS invoke simplexml_load_string() without disabling XXE processing. When the LIBXML_NOENT flag is set, the XML parser automatically expands external entity declarations, allowing attackers to craft malicious XML payloads that reference local file paths (e.g., file:// URIs). The PHP SimpleXML extension, when configured this way, will resolve these entities and load arbitrary files from the server filesystem into the XML document structure, enabling file disclosure. This is a classic XXE vulnerability pattern affecting server-side XML processing without proper entity expansion controls.
RemediationAI
Upgrade Chamilo LMS to version 1.11.38 (for the 1.11.x branch) or 2.0.0-RC.3 or later (for the 2.0.x branch). The vendor has released patched versions available at the GitHub repository. For environments unable to upgrade immediately, review and disable the LIBXML_NOENT flag in all simplexml_load_string() calls, and implement XXE protection by explicitly disabling external entity expansion via libxml_disable_entity_loader(true) and setting appropriate LoadEntity callbacks. Consult the security advisory at https://github.com/chamilo/chamilo-lms/security/advisories/GHSA-c4ww-qgf2-v89j for detailed patch references and commit history (commits 22b1cb1c609b643765c88654155aba27070c927e and af6b7002af7c15825e98fc522e2ead0d00cacaa3).
More in Chamilo Lms
View allChamilo LMS prior to 1.11.28 has a code injection through SOAP request parameters enabling remote code execution.
Chamilo LMS prior to 1.11.30 has a time-based SQL injection in a different endpoint, providing an additional database ex
Chamilo LMS prior to 1.11.30 has an error-based SQL injection enabling database extraction.
Chamilo LMS v1.11.x was discovered to contain a SQL injection via the doc parameter in main/plagiarism/compilatio/upload
Chamilo LMS 1.11.8 and 2.x allows remote code execution through an lp_upload.php unauthenticated file upload feature. Ra
Chamilo LMS prior to 1.11.30 has a blind SSRF vulnerability enabling internal network reconnaissance from the learning p
Unrestricted file upload in big file upload functionality in `/main/inc/lib/javascript/bigupload/inc/bigUpload.php` in C
Chamilo is a learning management system. [CVSS 8.8 HIGH]
Chamilo is a learning management system. Prior to version 1.11.30, an input validation vulnerability exists when importi
Chamilo LMS 1.11.26 is vulnerable to Incorrect Access Control via main/auth/profile. Rated high severity (CVSS 8.8), thi
Unrestricted file upload in `/main/inc/ajax/work.ajax.php` in Chamilo LMS <= v1.11.24 allows authenticated attackers wit
Unrestricted file upload in `/main/inc/ajax/exercise.ajax.php` in Chamilo LMS <= v1.11.24 allows authenticated attackers
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-21569