Skip to main content

Chamilo LMS CVE-2026-44344

| EUVDEUVD-2026-113999 MEDIUM
Eval Injection (CWE-95)
2026-10-30 GitHub_M
6.6
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to Chamilo instance
  2. Delivery
    Reach custom form with attacker-influenced element name
  3. Exploit
    Inject PHP via QuickForm element name
  4. Execution
    eval() executes payload as web server
  5. Impact
    Full server compromise

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Eval input sanitization
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a non-default code path in which user-controlled input reaches a QuickForm element name - specifically a developer-written plugin or a misconfiguration, since standard Chamilo forms use hardcoded element names and are therefore NOT exploitable. The vulnerable sinks are the eval() calls in the vendored PEAR HTML_QuickForm libraries (element.php _findValue/_prepareValue and file.php _findValue). Limiting factors: default/standard installations are not exploitable without such a custom path; the vulnerable path is attacker-uncontrolled (hence the high attack complexity); and reaching the affected forms generally requires authenticated access. Fully remediated only by updating to 1.11.40 or 2.0.1, which replace the eval()-based array construction with safe preg_split parsing.

Impact

This is a conditional, environment-dependent RCE that should be treated as moderate priority rather than an emergency. The input CVSS 3.1 vector (AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H, score 6.6) already encodes the two biggest dampeners: AC:H reflects that exploitation depends on an attacker-uncontrolled precondition (a developer-written plugin or misconfiguration that routes user input into QuickForm element names), and PR:H indicates privileged access is needed. The vuln.today decision label is 'this_month' (not act_now/emergency), consistent with the dampened risk. No EPSS score, no CISA KEV listing, and no exploit/PoC code were provided - the only references are the GHSA advisory, three remediation commits, and the two fixed release tags, so there is no public exploit identified at time of analysis. The signals are internally consistent rather than conflicting: a high technical impact (full server compromise where the vulnerable path exists) is gated behind a code path that the vendor explicitly states does not occur in standard Chamilo forms, which use hardcoded element names. The practical takeaway: critical impact but low likelihood on default deployments; real risk concentrates in sites running custom/third-party plugins that pass user input to form element names.

Exploit ScenarioDerived

On a Chamilo site whose developer has written a custom plugin (or misconfiguration) that lets user-supplied data become a QuickForm element name, an attacker who can reach that form submits a crafted element name that is interpolated into one of the vendored PEAR HTML_QuickForm eval() calls, executing arbitrary PHP as the web server and compromising the host. Against a default Chamilo install this does not work because form element names are hardcoded, and no public exploit code is available. Attack complexity is high (AC:H) precisely because the vulnerable code path is non-default and attacker-uncontrolled.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

Arbitrary PHP code execution can occur in Chamilo LMS when attacker-influenced data reaches the names of HTML_QuickForm elements, because the vendored PEAR QuickForm code builds array accesses through eval() and therefore treats those names as PHP source. Exposure is conditional rather than universal: stock Chamilo forms hardcode their element names and are not exploitable, so only installations running a developer-written plugin or a misconfiguration that routes user input into element names are at risk, and reaching those forms generally requires an authenticated account with low privileges while the vulnerable path itself is attacker-uncontrolled. Where such a path does exist the outcome is full server compromise; versions 1.11.40 and 2.0.1 replace the eval() construction with safe key parsing, and no public exploit code was identified at time of analysis.

RemediationAI

Upgrade to Chamilo LMS 1.11.40 (1.x line) or 2.0.1 (2.x line); these releases replace the eval()-based array construction in the vendored PEAR HTML_QuickForm files (element.php and file.php) with preg_split key traversal, as shown in commits 99d407a30e03c06cf764649dae85b4043877959a, a7fcc222bd7a7c09fb1d84173f710154c019bb7d and c497f7ef7fadeabb80ba27046a3ad5ce0edfc139. Because only the eval()'d names are dangerous, an interim compensating control is to audit every custom plugin or local modification that passes request data into form element names and replace dynamic names with fixed literals or a strict allowlist lookup - the trade-off is that any feature relying on user-supplied field names must be reworked before it will work. Restricting access to such custom forms to trusted authenticated users reduces exposure but does not remove the underlying sink, and neither workaround substitutes for updating, which is the only complete fix.

Affected VersionsENISA

chamilo-lms 2.0.0-alpha.1, < 2.0.1
chamilo-lms < 1.11.40

Affected Packages

euvd chamilo_lms fix: 1.11.40, 2.0.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Chamilo LMS bundles an old, vendored copy of the PEAR HTML_QuickForm library under public/main/inc/lib/pear/HTML/QuickForm/, and several methods (_findValue and _prepareValue in element.php, _findValue in file.php) constructed PHP expressions from an element's name string - for example turning a name such as extra_statusocial[extra_statusocial] into an eval()'d array index - so that nested form values and $_FILES entries could be looked up. Because the element name is interpolated into code that is then passed to eval(), any name containing PHP syntax is executed; this is CWE-95, eval injection, and it is a code-construction flaw rather than a parser or memory-safety issue. The upstream fix removes the eval() calls entirely: names are split on bracket delimiters with preg_split and walked key by key, and the file-upload handler now inspects $_FILES with array_key_exists instead of generating a code string. The CPE cpe:2.3:a:chamilo:chamilo-lms covers the affected release line without version granularity, while the advisory data identifies the 1.x line before 1.11.40 and the 2.x line before 2.0.1 (the composer package metadata lists 2.0.0 as vulnerable and 2.0.1 as fixed). Severity assessments differ slightly between sources on privileges required, and the high attack complexity reflects that whether the eval() sink is reachable at all depends on how a given site's forms were written; the trigger path for any specific deployment is not described in the available sources.

Know when Chamilo Lms 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

Vendor (GitHub_M) PRIMARY 6.6 MEDIUM
AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.5 HIGH

AC:H because exploitation depends on a non-default plugin/misconfiguration routing input to element names; PR:L as reaching the affected forms generally needs an authenticated session; eval() grants full code execution so C/I/A:H.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

1
Patch available
Oct 30, 2026 - 16:03 EUVD

DescriptionCVE.org

Chamilo LMS is an open-source learning management system. In the 1.x line before 1.11.40, and the 2.x line before 2.0.1, multiple eval() calls in the vendored PEAR HTML_QuickForm libraries can execute arbitrary PHP code if form element names contain attacker-influenced data. Standard Chamilo forms use hardcoded element names; exploitation requires a developer-specific plugin or misconfiguration that lets user input reach those element names. Where that conditional path exists, the impact can be full server compromise. This issue is fixed in versions 1.11.40 and 2.0.1.

Threat Intelligence Overview

EPSS Score
0.3%
Top 72% exploitable
Prevalence
Low
niche open-source LMS, mainly education sector, far smaller footprint than Moodle
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

33
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +33
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2025-50187 CRITICAL POC
9.8 Mar 02

Chamilo LMS prior to 1.11.28 has a code injection through SOAP request parameters enabling remote code execution.

CVE-2025-50192 CRITICAL POC
9.8 Mar 02

Chamilo LMS prior to 1.11.30 has a time-based SQL injection in a different endpoint, providing an additional database ex

CVE-2025-50190 CRITICAL POC
9.8 Mar 02

Chamilo LMS prior to 1.11.30 has an error-based SQL injection enabling database extraction.

CVE-2021-35414 CRITICAL POC
9.8 Dec 03

Chamilo LMS v1.11.x was discovered to contain a SQL injection via the doc parameter in main/plagiarism/compilatio/upload

CVE-2019-13082 CRITICAL POC
9.8 Jun 30

Chamilo LMS 1.11.8 and 2.x allows remote code execution through an lp_upload.php unauthenticated file upload feature. Ra

CVE-2025-50199 CRITICAL POC
9.1 Mar 02

Chamilo LMS prior to 1.11.30 has a blind SSRF vulnerability enabling internal network reconnaissance from the learning p

CVE-2023-4220 MEDIUM POC
6.1 Nov 28

Unrestricted file upload in big file upload functionality in `/main/inc/lib/javascript/bigupload/inc/bigUpload.php` in C

CVE-2025-50189 HIGH POC
8.8 Mar 02

Chamilo is a learning management system. [CVSS 8.8 HIGH]

CVE-2025-52468 HIGH POC
8.8 Mar 02

Chamilo is a learning management system. Prior to version 1.11.30, an input validation vulnerability exists when importi

CVE-2024-30616 HIGH POC
8.8 Nov 04

Chamilo LMS 1.11.26 is vulnerable to Incorrect Access Control via main/auth/profile. Rated high severity (CVSS 8.8), thi

CVE-2023-4226 HIGH POC
8.8 Nov 28

Unrestricted file upload in `/main/inc/ajax/work.ajax.php` in Chamilo LMS <= v1.11.24 allows authenticated attackers wit

CVE-2023-4225 HIGH POC
8.8 Nov 28

Unrestricted file upload in `/main/inc/ajax/exercise.ajax.php` in Chamilo LMS <= v1.11.24 allows authenticated attackers

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy