Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessHost malicious page with forged skill.ajax.php request
-
ExploitLure authenticated admin or DRH to visit
-
ExecutionBrowser auto-submits request lacking CSRF token
-
ImpactSkill records, profiles, and gradebook associations created, modified, or deleted
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that a victim who is an authenticated Chamilo administrator or DRH, with a valid active session, visit an attacker-controlled page while logged in; the attacker needs no account or credentials of their own. The specific precondition that makes it work is the absence of a Security::check_token() call on the add, delete_gradebook_from_skill, save_profile, and delete_profile actions in public/main/inc/ajax/skill.ajax.php in version 2.0.0. Limiting factors that reduce real-world risk: it only affects privileged users (admin or DRH), it depends on user interaction (the victim must open the malicious page during an active session), and it is closed entirely by upgrading to 2.0.1, which the vendor provides as the fix. |
| Impact | This is a CWE-352 cross-site request forgery flaw rated CVSS 6.5 (medium). The supplied vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N shows a network, low-complexity attack that needs no attacker privileges but DOES require user interaction (UI:R) - specifically that a logged-in administrator or DRH visit an attacker-controlled page - and yields a high integrity impact with no confidentiality or availability loss. Per the CVSS vector the attacker themselves is unauthenticated (PR:N); exploitation instead rides the victim's existing authenticated session, which is the defining property of CSRF. No EPSS score is provided in the input, this CVE is not listed in CISA KEV, and no PoC or exploit reference is supplied (only the advisory, fix commit, and release are referenced), so there is no public exploit identified at time of analysis. The vuln.today decision label is 'this_month', indicating a moderate, scheduled-remediation priority rather than an emergency. Net assessment: a genuine but not top-tier issue - real because the missing Security::check_token() is confirmed in source and the fix is confirmed, but its practical risk is bounded by the need to socially engineer a privileged user into visiting a malicious page while authenticated. Note the signal tension to flag for teams: KEV=NO and no PoC alongside a 'this_month' label support treating this as planned patching, not an active-exploitation fire drill; EPSS is missing and cannot be weighed. |
| Exploit ScenarioDerived | An attacker hosts a web page containing a hidden auto-submitting form or image tag targeting the skill.ajax.php add, delete_gradebook_from_skill, save_profile, or delete_profile actions. A Chamilo administrator or DRH who is logged in and then visits that page has their browser silently issue the request, creating, modifying, or deleting skill records, skill profiles, or skill-gradebook associations without their knowledge. No public exploit is identified at time of analysis, but the technique is well understood because the endpoints simply lacked CSRF token validation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Cross-site request forgery in Chamilo LMS 2.0.0 (CVSS 6.5) lets an attacker induce a logged-in administrator or DRH to create, modify, or delete skill records and profiles, or remove skill-gradebook associations. The affected actions in public/main/inc/ajax/skill.ajax.php perform database mutations without Security::check_token() validation, and the attacker needs no account of their own but must get a privileged victim with an active session to visit a malicious page. The vendor fixed the missing token checks in 2.0.1; no public exploit identified at time of analysis.
RemediationAI
Vendor-released patch: Chamilo LMS 2.0.1. Upgrade from 2.0.0 or any earlier affected version to 2.0.1; the release is available at https://github.com/chamilo/chamilo-lms/releases/tag/v2.0.1 and the advisory at https://github.com/chamilo/chamilo-lms/security/advisories/GHSA-p2qq-wjp2-j334 documents the fix. The fix commit (https://github.com/chamilo/chamilo-lms/commit/6c9586034284fb7773056c79055798298fbc6d3d) adds Security::check_token('get') validation to the affected skill AJAX actions and appends sec_token to the relevant AJAX URLs. No alternative mitigation is specified in the provided data; upgrading is the vendor-provided complete fix.
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. CVE-2026-45141 is CWE-352 (cross-site request forgery): the AJAX endpoint public/main/inc/ajax/skill.ajax.php exposes destructive actions - add, delete_gradebook_from_skill, save_profile, and delete_profile - that mutate skill records, profiles, or gradebook associations without calling Security::check_token(). Because the actions rely on the victim's existing Chamilo session, an attacker-controlled page can submit forged requests that the application accepts as the administrator or DRH. The GitHub advisory notes survey.php correctly uses Security::check_token('post') for comparable destructive operations, and the fix commit adds Security::check_token('get') checks to the affected actions and appends sec_token to the generated AJAX URLs. The CPE cpe:2.3:a:chamilo:chamilo-lms:*:*:*:*:*:*:*:* covers Chamilo LMS before 2.0.1 per the advisory's vulnerable 2.0.0 and fixed 2.0.1 metadata. The specific trigger is described in the advisory as visiting a malicious page while logged in; no further exploitation mechanics are provided.
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
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
Classic CSRF: attacker is unauthenticated (PR:N) but needs a privileged victim to interact (UI:R); forged writes alter/delete records so I:H, with no data disclosure or outage (C:N/A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Chamilo LMS is an open-source learning management system. Prior to 2.0.1, the add, delete_gradebook_from_skill, save_profile, and delete_profile actions in public/main/inc/ajax/skill.ajax.php perform database mutations without Security::check_token() validation. An attacker can use cross-site request forgery to cause an authenticated administrator or DRH who visits a malicious page to create, modify, or delete skill records and profiles, or remove skill-gradebook associations. This issue is fixed in version 2.0.1.
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 Request Forgery exploits the automatic credential inclusion behavior of web browsers.
More in Chamilo Lms
View allChamilo 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.
Chamilo LMS v1.11.x was discovered to contain a SQL injection via the doc parameter in main/plagiarism/compilatio/upload
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
Chamilo is a learning management system. [CVSS 8.8 HIGH]
Chamilo is a learning management system. Prior to version 1.11.30, an input validation vulnerability exists when importi
Chamilo LMS 1.11.26 is vulnerable to Incorrect Access Control via main/auth/profile. Rated high severity (CVSS 8.8), thi
Unrestricted file upload in `/main/inc/ajax/work.ajax.php` in Chamilo LMS <= v1.11.24 allows authenticated attackers wit
Unrestricted file upload in `/main/inc/ajax/exercise.ajax.php` in Chamilo LMS <= v1.11.24 allows authenticated attackers
EUVD-2026-113998
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB