Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Chamilo Ticket Module
-
DeliverySubmit project Name with XSS payload
-
ExploitPayload stored unsanitized in project
-
ExecutionVictim user loads rendered project name
-
ImpactScript executes in victim's browser session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, 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 an authenticated account with privilege to create or edit ticket projects in the Chamilo Ticket Module (the TicketManager::addProject path), into whose Name field an attacker injects a stored script payload. Triggering is gated by victim interaction (CVSS UI:P): a second user must load the page that renders the stored project name before the payload fires. Limiting factors that reduce real-world risk: it is not usable by fully unauthenticated attackers (PR:L), the injected content must be viewed by a victim rather than executing automatically, and only Chamilo LMS versions up to 1.11.40/2.0.3/3.0.1 are affected - patched builds applying the htmlspecialchars/DOMParser output encoding from PR #9228 are not exploitable. |
| Impact | This is a stored cross-site scripting flaw (CWE-79) in Chamilo LMS, and the combined signals point to a moderate, bounded risk rather than a critical one. The only CVSS data provided is a CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P, base 5.1): network vector and low attack complexity, but it explicitly requires existing privileges (PR:L) and passive victim interaction (UI:P), and the impact is limited to low integrity (VI:L) with no confidentiality or availability impact - consistent with a self/stored XSS whose payload runs in another user's browser. The E:P exploit-maturity flag and the description ('exploit has been publicly disclosed') indicate publicly available exploit code exists, but there is no CISA KEV listing and no EPSS score was supplied, so there is no evidence of active, widespread exploitation. Net: a real, patchable issue worth remediating, but the authentication requirement and need for a victim to view the injected content make it a targeted/post-authentication concern rather than a mass-exploitable emergency. One caveat to verify: the vendor PR (#9228) hardens many sinks (forum thread list, ticket settings view, course categories, user information, social friend list) with htmlspecialchars/DOMParser, while the CVE text pins the flaw to TicketManager::addProject's Name argument - the disclosed fix is broader than the single described sink, so the precise injection path should be confirmed against the advisory GHSA-wj7h-p8jp-jqxw. |
| Exploit ScenarioDerived | An authenticated user with access to the Ticket Module creates a ticket project and embeds a JavaScript payload (e.g. an <img onerror=...> handler) in the project Name field, which is stored unsanitized. When an administrator or another user later loads the page that renders that project name, the script executes in their browser session. Public exploit code for this XSS has been disclosed, lowering the effort required to reproduce it. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Stored cross-site scripting in Chamilo LMS's Ticket Module lets authenticated users who can create or edit ticket projects inject a script payload through the project Name field, which executes when another user views the affected page. The flaw affects Chamilo LMS up to 1.11.40, 2.0.3, and 3.0.1 and requires victim interaction; publicly available exploit code has been disclosed, though no CISA KEV active-exploitation confirmation is present. The vendor fix is visible in PR #9228 and commit cb6fe2127e587603451c609b4ed78c0293fcc3fa, and builds applying that output-encoding patch are not exploitable.
RemediationAI
Apply the vendor fix by upgrading to a Chamilo LMS build that includes PR #9228 and commit cb6fe2127e587603451c609b4ed78c0293fcc3fa, along with related commits 6dfa0f4de45afc1b27333304b4cd4532db478f74, dd3e4d32971efca4197eb2df97f69de25a786e3c, and 119773d45c31da53b44cbfdb3f4910bc983cc7b0; vendor patch availability is reported, but a released patched version is not independently confirmed beyond the upstream PR/commit. Review GHSA-wj7h-p8jp-jqxw and VulDB 421679 for vendor guidance. If immediate upgrade is not possible, restrict ticket-project creation and editing to trusted roles and audit existing project names for script payloads, accepting reduced help-desk flexibility; enforce output encoding for the Name field and use WAF rules targeting script tags and event handlers in ticket project fields, accepting possible false positives and bypass risk; and warn users not to open suspicious ticket-project pages until patched because exploitation requires victim interaction.
Affected VersionsENISA
Affected Packages
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 is a PHP-based learning management system, and the affected path is TicketManager::addProject in main/inc/lib/TicketManager.php within the Ticket Module. The vulnerability class is CWE-79: the project Name value is not adequately output-encoded when rendered back into HTML or JavaScript contexts, so an attacker with ticket-project creation or editing rights can store markup that runs in a victim's browser. The patch set in PR #9228 addresses this by replacing unsafe innerHTML-to-text extraction in Vue components with DOMParser parsing into an inert document and by applying htmlspecialchars(..., ENT_QUOTES, 'UTF-8') to PHP-rendered names and related ticket, forum, user-information, and course-category output. The CPE cpe:2.3:a:chamilo:lms:*:*:*:*:*:*:*:* is a wildcard and does not pin a version, so affected-version scoping comes from the advisory ranges up to 1.11.40, 2.0.3, and 3.0.1. The assessed CVSS 3.1 vector AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N confirms network reachability, low privileges, required user interaction, and scope change; the supplied CVSS 4.0 vector also carries E:P, consistent with public exploit maturity.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P
Stored XSS needs an authenticated poster (PR:L) and a victim view (UI:R); script runs in the victim's browser context (S:C) with limited session/content impact (C:L/I:L), no availability effect.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability was determined in Chamilo LMS up to 1.11.40/2.0.3/3.0.1. This issue affects the function TicketManager::addProject of the file main/inc/lib/TicketManager.php of the component Ticket Module. Executing a manipulation of the argument Name can lead to cross site scripting. The attack may be performed from remote. The exploit has been publicly disclosed and may be utilized. This patch is called 6dfa0f4de45afc1b27333304b4cd4532db478f74/dd3e4d32971efca4197eb2df97f69de25a786e3c/119773d45c31da53b44cbfdb3f4910bc983cc7b0/cb6fe2127e587603451c609b4ed78c0293fcc3fa. It is best practice to apply a patch to resolve this issue.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
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-104022
GHSA-pr76-c2mp-rqp4
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB