Skip to main content

Chamilo LMS CVE-2026-45141

| EUVDEUVD-2026-113998 MEDIUM
Cross-Site Request Forgery (CSRF) (CWE-352)
2026-10-30 GitHub_M
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Host malicious page with forged skill.ajax.php request
  2. Exploit
    Lure authenticated admin or DRH to visit
  3. Execution
    Browser auto-submits request lacking CSRF token
  4. Impact
    Skill 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.

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

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

Alert me

AnalysisAIv1 – 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

chamilo-lms < 2.0.1

Affected Packages

euvd chamilo_lms fix: 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 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

Vendor (GitHub_M) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
vuln.today AI 6.5 MEDIUM

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).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

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

DescriptionCVE.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

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
open-source LMS, niche education-sector deployment, far smaller footprint than Moodle
Social Media
1
Sightings
Data Quality
5 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.2%
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

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