CVE-2025-50196
OS Command Injection in Chamilo LMS editinstance.php (pre
Publication date: 2026-03-02
Last updated on: 2026-03-03
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| chamilo | chamilo_lms | to 1.11.30 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-78 | The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2025-50196 is an OS Command Injection vulnerability in the Chamilo learning management system prior to version 1.11.30. It occurs in the /plugin/vchamilo/views/editinstance.php file via the POST parameter main_database. This vulnerability allows unsafe input to be passed as a database name without proper sanitization, potentially enabling attackers to execute arbitrary operating system commands.
The issue was fixed by introducing a sanitization method called clearDatabaseName in the Database class, which removes any characters from database names that are not alphanumeric, underscores, or hyphens. This sanitization is applied consistently across the application, including in the VChamilo plugin methods that handle database names, preventing malicious input from causing command injection.
How can this vulnerability impact me? :
This vulnerability can allow an attacker with the ability to send crafted POST requests to the affected Chamilo LMS instance to execute arbitrary operating system commands on the server. This can lead to unauthorized access, data compromise, or disruption of the LMS service.
Because the vulnerability involves command injection via the main_database parameter, an attacker could manipulate database operations or escalate privileges, potentially compromising the integrity and availability of the LMS environment.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability involves OS Command Injection via the POST parameter main_database in the Chamilo LMS VChamilo plugin. Detection would involve monitoring or inspecting HTTP POST requests to the /plugin/vchamilo/views/editinstance.php endpoint for suspicious or malformed main_database parameter values that could indicate an injection attempt.
Since the vulnerability is related to unsafe input sanitization of database names, you can detect attempts by capturing and analyzing web requests to the affected endpoint.
Suggested commands to detect potential exploitation attempts include using network traffic inspection tools or web server logs to filter POST requests containing the main_database parameter with suspicious characters.
- Using tcpdump or tshark to capture HTTP POST requests to the vulnerable endpoint, for example: tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' | grep 'main_database'
- Using grep or similar tools on web server access logs to find POST requests to /plugin/vchamilo/views/editinstance.php containing main_database parameter: grep 'POST /plugin/vchamilo/views/editinstance.php' /var/log/apache2/access.log | grep 'main_database='
- Using web application firewall (WAF) or intrusion detection system (IDS) rules to alert on suspicious characters or command injection patterns in the main_database parameter.
What immediate steps should I take to mitigate this vulnerability?
The primary mitigation step is to upgrade Chamilo LMS to version 1.11.30 or later, where this vulnerability has been patched.
The patch sanitizes the main_database parameter by applying a strict whitelist that removes any characters except alphanumeric, underscores, and hyphens, preventing OS command injection.
If upgrading immediately is not possible, you should implement input validation or sanitization on the main_database parameter in your environment to reject or cleanse unsafe characters.
Additionally, consider restricting access to the vulnerable endpoint (/plugin/vchamilo/views/editinstance.php) to trusted users only and monitor logs for suspicious activity.