CVE-2025-50190
SQL Injection in Chamilo /index.php via openid.assoc_handle
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-89 | The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2025-50190 is a high-severity error-based SQL Injection vulnerability in Chamilo LMS versions up to 1.11.28, patched in version 1.11.30.
The vulnerability occurs in the OpenID authentication module, specifically in the handling of the openid.assoc_handle parameter in the /index.php script.
An attacker can exploit this by sending specially crafted HTTP requests that inject malicious SQL code through the assoc_handle parameter, due to improper sanitization and unsafe string interpolation in SQL queries.
Exploitation requires the OpenID module to be enabled, but no authentication or privileges are needed, and it can be exploited remotely.
How can this vulnerability impact me? :
This vulnerability can severely impact the confidentiality and availability of the Chamilo LMS system.
An attacker can execute arbitrary SQL commands on the database, potentially retrieving sensitive information such as database version or other data.
Since the vulnerability does not require authentication or user interaction, it can be exploited remotely, increasing the risk of unauthorized data exposure or service disruption.
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?
[{'type': 'paragraph', 'content': 'This vulnerability can be detected by monitoring HTTP requests to the Chamilo LMS /index.php script that include the GET parameter openid.assoc_handle, especially if the OpenID module is enabled.'}, {'type': 'paragraph', 'content': 'An attacker may send specially crafted requests with malicious SQL payloads in the openid.assoc_handle parameter to exploit the SQL Injection.'}, {'type': 'paragraph', 'content': 'To detect potential exploitation attempts, you can use network monitoring or web server logs to search for suspicious requests containing SQL injection patterns in the openid.assoc_handle parameter.'}, {'type': 'list_item', 'content': "Use tools like grep or similar to search web server logs for requests with 'openid.assoc_handle' containing SQL keywords or special characters."}, {'type': 'list_item', 'content': 'Example command to search Apache logs for suspicious openid.assoc_handle usage: grep -i "openid.assoc_handle" /var/log/apache2/access.log | grep -E "(union|select|insert|update|delete|--|\')"'}, {'type': 'list_item', 'content': 'Use web application firewall (WAF) rules to detect and block SQL injection attempts targeting the openid.assoc_handle parameter.'}] [1]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include upgrading Chamilo LMS to version 1.11.30 or later, where the vulnerability has been patched.
If upgrading immediately is not possible, consider disabling the OpenID authentication module, as the vulnerability requires this module to be enabled.
Additional mitigation measures include restricting database user privileges to the minimum necessary and validating all user-supplied data.
Implement parameterized SQL queries (prepared statements) instead of string concatenation to prevent SQL injection.