Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach unauthenticated CStudio upload endpoint
-
DeliverySend chunked upload with traversal filename
-
ExploitBypass missing sanitization/auth gate
-
ExecutionWrite PHP webshell to web root
-
PersistRequest uploaded shell
-
ImpactExecute arbitrary code on server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special conditions - remote unauthenticated exploitation against default configurations of Chamilo LMS <= 2.0.0, provided the CStudio plugin's import-project big-upload endpoint (public/plugin/CStudio/editor/import-project/inc/big-upload.php) is reachable. The specific prerequisite is that this CStudio upload flow is deployed/accessible, since the fix confirms it lacked any authentication check (api_get_user_id() was added) and lacked filename sanitization. Limiting factors are minimal: no user interaction, no authentication, and no non-default toggle are required per CVSS PR:N/UI:N - the only realistic limiter is whether the CStudio editor plugin is installed and network-reachable, and upgrading to 2.0.1 fully closes it. |
| Impact | This is a genuine top-tier priority. The CVSS vector (AV:N/AC:L/PR:N/UI:N, S:U, C:H/I:H/A:H = 9.8) is corroborated rather than merely asserted: the GitHub Security Advisory (GHSA-g4c3-4g96-6g4m) titles it 'unauthenticated remote code execution,' and the fix commit (4bdba1b) directly confirms the mechanism - the CStudio 'big-upload' chunked upload endpoint took the filename straight from attacker-controlled input ($_FILES['bigUploadFile']['name'] and $_POST['name']) with no sanitization and no session/authentication gate, matching CWE-22 (Path Traversal) leading to arbitrary file write and code execution. The patch adds three defenses at once (an api_get_user_id() authentication check, api_replace_dangerous_char()/disable_dangerous_file() filename sanitization, and moving the final filename into server-side session state so a POST value cannot override it), which independently validates all three impacts. Signals that would normally temper urgency are absent or neutral: there is no EPSS score, no CISA KEV listing, and no named public exploit in the provided data, so per precision rules this is 'no public exploit identified at time of analysis' - NOT active exploitation. However, the fix commit is public and effectively a blueprint (it reveals the exact vulnerable parameter and traversal path), so weaponization is low-effort and the practical exploitability is high despite the missing EPSS/KEV signals. Net: high-CVSS AND high-real-risk; patch to 2.0.1 without delay. |
| Exploit ScenarioDerived | An unauthenticated attacker sends a chunked upload to the CStudio import-project big-upload endpoint (public/plugin/CStudio/editor/import-project/inc/big-upload.php) and supplies a crafted filename containing directory-traversal sequences and a PHP extension, causing the reassembled file to be written to an attacker-chosen web-accessible location. The attacker then requests that uploaded PHP file to execute arbitrary code on the server. No authentication is required and no public exploit is identified at time of analysis, but the public fix commit discloses the exact vulnerable parameters. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 17, 2026
Unauthenticated remote code execution in Chamilo LMS 2.0.0 and earlier lets any network-reachable attacker run arbitrary code on the server through the CStudio editor plugin's import-project big-upload endpoint, which shipped without an authentication check and without sanitizing attacker-supplied filenames. Graded CVSS 9.8 (AV:N/AC:L/PR:N/UI:N/C:H/I:H/A:H) with no special prerequisites beyond the CStudio upload flow being deployed and reachable, this is assessed as a genuine top-tier priority for any exposed instance; no public exploit code was identified at time of analysis and no CISA KEV listing applies, though the vendor-released patch in 2.0.1 fully closes the issue.
RemediationAI
Upgrade to Chamilo LMS 2.0.1, the vendor-released fixed version (release tag v2.0.1), which adds the missing api_get_user_id() authentication check, sanitizes uploaded filenames via api_replace_dangerous_char() and disable_dangerous_file(), and binds the final filename to the server-side session so it can no longer be controlled by an attacker's POST body. If an immediate upgrade is not possible, specific compensating controls are: disable or remove the CStudio editor plugin entirely if project import is not required (loses HTML5 authoring/SCORM import functionality for legitimate users), or block network access to /public/plugin/CStudio/editor/import-project/ - including the ?action=upload endpoint - at the reverse proxy or WAF so only trusted networks reach it, at the cost of breaking the SCORM/zip project import workflow; fronting that path with HTTP/SSO authentication would also enforce a session but may interfere with Chamilo's own session handling for other plugin features. Primary fix references: advisory https://github.com/chamilo/chamilo-lms/security/advisories/GHSA-g4c3-4g96-6g4m and commit 4bdba1b9a8820bd70c0809317775d7f6eaa79844.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Chamilo LMS is a PHP learning management system; the vulnerable component is the optional CStudio HTML5 content-authoring plugin, specifically public/plugin/CStudio/editor/import-project/inc/big-upload.php, which implements a chunked file upload used when importing project archives. The fix commit shows the endpoint accepted chunk uploads with no session check whatsoever - the patch inserts an api_get_user_id() guard that returns HTTP 403 - and it passed attacker-controlled values ($_POST['name'] and $_FILES['bigUploadFile']['name']) straight into finishUpload() without sanitization, giving a path traversal / dangerous-extension write primitive (CWE-22, tagged RCE and Path Traversal). The remediation also applies filename hardening helpers (api_replace_dangerous_char() and disable_dangerous_file()) and stores the intended final filename in $_SESSION under a per-temp-name key so a later chunk cannot overwrite it, which is precisely the tamper vector that let an unauthenticated caller dictate the written path and name.
Know when Chamilo gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Remote unauthenticated upload endpoint with no interaction (AV:N/AC:L/PR:N/UI:N) yields arbitrary file write and code execution, giving full C:H/I:H/A:H on the same host (S:U).
Primary rating from Vendor (https://github.com/chamilo/chamilo-lms).
CVSS VectorVendor: https://github.com/chamilo/chamilo-lms
DescriptionCVE.org
Impact
Ability to run arbitrary code on the server without authentication.
Technical POC Analysis
Primary bug class: CWE-22 path traversal, with CWE-434 unrestricted upload and CWE-94 code injection also tagged in the advisory.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Chamilo LMS versions 2.0.0 and earlier contain a critical unauthenticated remote code execution vulnerability (CVE-2026-45140) that allows any network-accessible attacker to fully compromise the server. Organizations using this learning management system face severe risk of data theft, service disruption, and lateral movement into internal networks. Immediate patching to version 2.0.1 is essential to protect sensitive student and institutional data.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
A command injection vulnerability in the wsConvertPpt component of Chamilo v1.11.* up to v1.11.18 allows attackers to ex
Chamilo 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.
Improper sanitisation in `main/inc/lib/fileUpload.lib.php` in Chamilo LMS <= v1.11.20 on Windows and Apache installation
Path traversal in file upload functionality in `/main/webservices/additional_webservices.php` in Chamilo LMS <= v1.11.20
Command injection in `/main/webservices/additional_webservices.php` in Chamilo LMS <= v1.11.20 allows unauthenticated at
Chamilo LMS v1.11.x was discovered to contain a SQL injection via the doc parameter in main/plagiarism/compilatio/upload
main/inc/ajax/model.ajax.php in Chamilo through 1.11.14 allows SQL Injection via the searchField, filters, or filters2 p
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
EUVD-2026-82420
GHSA-g4c3-4g96-6g4m
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB