Skip to content
Yannick Warnier edited this page Oct 31, 2024 · 10 revisions

Security track record

Chamilo LMS has a great track record for fixing reported security issues, working together with security actors, publishing fixes prior to the official publication of the vulnerabilities on official sites.

So far, in the history of the project (since late 2009), all (but two) vulnerabilities have been fixed less than 168h (7 days) after they were reported to us, and the process of code revision by packagers before inclusion (no unchecked plugin) has always been followed, making it the most secure open source e-learning platform to date.

You can see a graphical representation of the reports and fixes here (with corresponding links to check details): http://www.cvedetails.com/product/26528/Chamilo-Chamilo-Lms.html?vendor_id=12983 (navigate and check other LMSes to compare their security track record).

If you consider using another LMS, please (for your own sake) check its security track (sometimes, months can pass before fixes are provided publicly).

Check Secure Development Policy for more info.

Security flaws reporting procedure

If you have found a new security flaw in Chamilo, please send us an e-mail at [email protected] and [email protected], including "Chamilo Vulnerability" in your topic line. You can also use Github's own form to report vulnerabilities privately: https://github.com/chamilo/chamilo-lms/security/advisories/new. We will respond quickly to these (usually within 24h), so if you don't receive an answer, please consider it might not have been received and send it again. In the worst case, open an issue in this issues tracking system to call for our attention, but please do not publish the flaw until a patch has been developed.

Due to strong budget limitations (the Chamilo Association is a non-profit with very little funding), we do not engage in any type of bounty/reward offer. We do recognize the enormous value that vulnerability reports represent for the Chamilo Association and the Chamilo software users, though, and will happily publish the sources of all confirmed vulnerability reports on this public page (whether they come with a CVE or not), but publishing them and giving them a high priority in our contributors schedule while continuing to release Chamilo entirely for free and as free software is the best we can do at this time. Thank you for your understanding.

Security flaws fixing procedure

Security matters to us. A lot. So when we receive a security flaw report, we will treat it very quickly (usually in a matter of 1 to 7 calendar days). Our procedure is as follows:

  • we will report these issues in a private part of this issue tracker
  • one of us (developers) will be put in charge of providing a patch
  • the developers will publish the patch in our source code repository (that's the first publication)
  • if relevant credits information has been sent to us, we will add this information to the code and the commit message to

Security flaws publication procedure

This follows the reporting events above.

  • we will then prepare (and publish below) a full report and the corresponding patch to secure your platform. We will also provide the patch in the form of a zip to unzip into your Chamilo directory for the latest stable version
  • if you don't use the latest version, you will have to upgrade first or apply the patch by yourself in your version
  • if the security flaw has been passed to a security reporting authority, we will send them an e-mail
  • we will ask for a "publication + 60 days delay" before publishing details of the exploit: we will hurry to publish a new stable version (usually within 30 days of your report) that includes the fixes to the vulnerabilities reported, then we ask for a 60 calendar days period from the date of release for you to release details of the exploit. This is because, contrary to other software, Chamilo is mostly managed by non-tech teachers around the world, which both do that on their spare time and have a lack of understanding of the impact of vulnerabilities on their systems. As such, they usually take a very long time to update (most of the times several years) despite our super-easy update process (just overwriting files).

Please note that, although we encourage reporters to ask for a CVE number, we do not do that process ourselves (we lack the human resources and knowledge on how to do this properly), so we cannot assist in a CVE number request. As far as we know (and has been proven by several reporters listed below), you can use our publications below to report a vulnerability and obtain a CVE number by following these instructions: https://cve.mitre.org/CVEIDsAndHowToGetThem.pdf

Reported flaws

Issue "#180" - 2024-10-16 - Moderate impact, Moderate risk - Possible XSS in portfolio

Chamilo 1.11.x (up to 1.11.26) allows an authenticated user to craft a portfolio post or comment with XSS.

Reported by: BeezNest

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#179" - 2024-10-16 - High impact, Moderate risk - XSS in messages

Chamilo 1.11.x (up to 1.11.26) allows an authenticated user to craft a message to an admin with XSS.

Reported by: Sameer Jyani @ redhuntlabs

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#178" - 2024-09-27 - Low impact, Moderate risk - HTML Injection in course chat

Chamilo 1.11.x (up to 1.11.26) allows an authenticated user with access to the chat tool in a course to inject HTML in the course chat. Although we recognize the risk linked to an HTML injection (as does OWASP), we consider that the context of the vulnerability (enabling users to add external links to their posts, JS being filtered) and the ability to set the Content-Security-Policiy header to restrict the sources (even the form actions) will minimize the risk and only leave this vulnerability to very poorly managed portals. We did, however, add a specific section to our security.html page to educate admins on what they can do to strengthen security in that respect.

Reported by: Uttam Gupta @ redhuntlabs Fix for Chamilo 1.11.* up to 1.11.26:

Set $_configuration['security_content_policy'] in app/config/configuration to only allow reliable sources for script-src, style-src and to restrict the "form-action" element to 'self', for example.
https://github.com/chamilo/chamilo-lms/commit/7784dadcb5a55458a3031a22d9055f6b81226a99

Issue "#177" - 2024-09-27 - Low impact, Moderate risk - HTML Injection in social wall, social groups and social profile links

Chamilo 1.11.x (up to 1.11.26) allows an authenticated user with access to the social network to post HTML on his own wall. Although we recognize the risk linked to an HTML injection (as does OWASP), we consider that the context of the vulnerability (enabling users to add external links to their posts, JS being filtered) and the ability to set the Content-Security-Policiy header to restrict the sources (even the form actions) will minimize the risk and only leave this vulnerability to very poorly managed portals. We did, however, add a specific section to our security.html page to educate admins on what they can do to strengthen security in that respect.

Reported by: Sameer Jyani @ redhuntlabs - Also reported previously in a similar way by Baha Doumi on 2024-03-15 and only included later in the history of patches. Fix for Chamilo 1.11.* up to 1.11.26:

Set $_configuration['security_content_policy'] in app/config/configuration to only allow reliable sources for script-src, style-src and to restrict the "form-action" element to 'self', for example.
https://github.com/chamilo/chamilo-lms/commit/7784dadcb5a55458a3031a22d9055f6b81226a99

Issue "#176" - 2024-09-24 - High impact, Moderate risk - Evaluation of untrusted user input leads to RCE

Chamilo 1.11.x (up to 1.11.26) allows carefully crafted SOAP request to upload files to executable directories if

Reported by: https://github.com/012git012

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#175" - 2024-09-11 - Moderate impact, Moderate risk - Unauthenticated data injection (AJAX in LP)

Chamilo 1.11.x (up to 1.11.26) a logical failure in checking user's authentication status lead to possible data injection in one specific table. Although no SQL injection was possible, strings including XSS could then be sent and shown on other users' pages.

Reported by: @s1kr10s

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#174" - 2024-09-09 - Moderate impact, High risk - Potential unauthenticated blind SSRF via openid function (CVE-2024-50337)

Chamilo 1.11.x (up to 1.11.26) allows unauthenticated users to forge requests to have unaware users send credentials to a remote servers.

Reported by: Vladimir Vlasov (Positive Technologies)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#173" - 2024-08-08 - High impact, Low risk - RCE by admin users (CVE-2024-47886)

Chamilo 1.11.x (up to 1.11.26) allows users with admin privilege to craft files to execute arbitrary code on the server.

Reported by: Louka Jacques-Chevallier / https://github.com/laluka

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#172" - 2024-04-04 - Low impact, High risk - Authenticated stored XSS

Chamilo 1.11.x (up to 1.11.26) allows authenticated users with minimal privileges to send calendar event to other users (including admins) with crafted HTML to trigger stored XSS attacks.

Reported by: Mathieu Farrell @ Quarkslab

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#171" - 2024-04-04 - Low impact, High risk - Unauthenticated reflected XSS

Chamilo 1.11.x (up to 1.11.26) allows unauthenticated users to trigger XSS attacks in the sessions catalogue and file upload form.

Reported by: Mathieu Farrell @ Quarkslab

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#170" - 2024-04-04 - Moderate impact, High risk - Server Side Request Forgery (SSRF) and Cross Site Scription (XSS) in HTML to PDF conversion

Chamilo 1.11.x (1.11.26) allows authenticated users with minimum privileges to write crafted HTML which, when exported to PDF, can contain a SSRF and/or XSS attack.

Reported by: Mathieu Farrell @ Quarkslab

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#169" - 2024-04-04 - High impact, High risk - Path traversal in plugin by authenticated users

Chamilo 1.11.x (up to 1.11.26) allows authenticated users to include/display arbitrary files.

Reported by: Mathieu Farrell @ Quarkslab

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#168" - 2024-04-04 - High impact, High risk - Arbitrary File Write in user edit by admin users

Chamilo 1.11.x (up to 1.11.26) allows authenticated users with admin privileges to write files in arbitrary paths.

Reported by: Mathieu Farrell @ Quarkslab

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#167" - 2024-04-04 - High impact, High risk - Arbitrary File Write in documents by authenticated users

Chamilo 1.11.x (up to 1.11.26) allows authenticated users with documents tool access to write files in arbitrary paths.

Reported by: Mathieu Farrell @ Quarkslab

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#166" - 2024-04-03 - Low impact, High risk - Directory Listing Vulnerability

Chamilo 1.11.x (up to 1.11.26) did not prevent listing the contents of the vendor/ directory by default.

Reported by: Confidential (L) (CVSS Score: 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#165" - 2024-04-01 - Low impact, Moderate risk - Missing Content-Type Header

Chamilo 1.11.x (up to 1.11.26) did not set a header but allowed for the download (under Linux servers) of web.config, which is a configuration file for IIS. The fix prevents access to this file if not on IIS.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#164" - 2024-04-01 - Low impact, Moderate risk - Internal server error

Chamilo 1.11.x (up to 1.11.26) generated an error when providing an unexisting course code. Errors (if portal is too verbose) can undesirably provide information to potential hackers.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#163" - 2024-04-01 - Low impact, Low risk - 3 XSS in personal courses sorting

Chamilo 1.11.x (up to 1.11.26) allows users to craft requests inside their own sorting screen to set an self-XSS.

Reported by: Confidential (L) (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N) (1.1, 1.2, 2.1)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#162" - 2024-03-15 - Low impact, Low risk - Unauthenticated endpoints

Chamilo 1.11.x (up to 1.11.26) has 2 AJAX endpoints that allows unauthenticated users to get an answer. One can be blocked by the settings "whoisonline_only_for_admin" and "allow_online_users_by_status" that already exist in Chamilo, and the second one did return "0" (not a true count) for anonymous users, but we made sure it was now blocked.

Reported by: Baha Doumi

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#161" - 2024-03-15 - Low impact, Moderate risk - Stored XSS in social group messages

Chamilo 1.11.x (up to 1.11.26) allows authenticated users to introduce crafted HTML in their social groups forum.

Reported by: Baha Doumi

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#160" - 2024-03-15 - Low impact, Moderate risk - Stored XSS in messages

Chamilo 1.11.x (up to 1.11.26) allows authenticated users to craft HTML to include XSS in their messages.

Reported by: Baha Doumi

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#159" - 2024-03-15 - Low impact, Moderate risk - Stored XSS in course home

Chamilo 1.11.x (up to 1.11.26) allows teachers to introduce crafted HTML in their courses' homepages.

Reported by: Baha Doumi

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#158" - 2024-03-15 - Moderate impact, Low risk - CSRF by authenticated user in social

Chamilo 1.11.x (up to 1.11.28 for parts) allows authenticated users to introduce CSRF on their social network page.

Reported by: Baha Doumi

Fix for Chamilo 1.11.* up to 1.11.28:

Issue "#157" - 2024-03-15 - Moderate impact, Moderate risk - Authorization bypass

Chamilo 1.11.x (up to 1.11.26) allows users to modify a request to change some fields in the admin profile, which can lead to data integrity issues.

Reported by: Baha Doumi

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#156" - 2024-02-12 - Low impact, Low risk - Stored XSS in tickets (CVE-2024-27524)

Chamilo 1.11.x (up to 1.11.26) included a filtering issue allowing authenticated users to upload an image with a crafted name to trigger a stored-XSS.

Reported by: George Roumeliotis at TwelveSec (CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H - Base: 7.1 (High))

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#155" - 2024-02-12 - Low impact, Low risk - Self XSS in social network (CVE-2024-27525)

Chamilo 1.11.x (up to 1.11.26) included a filtering issue allowing authenticated users to upload an image with a crafted name to trigger an auto-XSS.

Reported by: George Roumeliotis at TwelveSec (CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L - Base: 4.6 (Medium))

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#154" - 2024-01-19 - High impact, Low risk - Adminer script included

Not really a vulnerability in itself. Although protected by two levels of security on the side of Chamilo and, as such, pretty much a non-issue, automated scanners kept detecting the inclusion of Adminer inside Chamilo, which is detected as php.hacktool.adminer.001 by some security monitoring systems (Sucuri and Invicti, to name two). Given the fact that installing one's own Adminer on a server is a low complexity task and that the level of security in this modified script in Chamilo requires one configuration file change and access as an admin, we believe it is better both for the Chamilo editor and the Chamilo community to just remove this and ask for admins to take the responsibility of installing it by themselves if they need it.

Reported by: @ir0nb1t

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#153" - 2024-01-15 - Low impact, Low risk - Possible CSRF in cookie message warning

Chamilo 1.11.x (up to 1.11.26) had a potential CSRF in the banner showing the warning about using cookies.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#152" - 2024-01-15 - Low impact, Low risk - Internal server error in plugin dir

Chamilo 1.11.x (up to 1.11.26) showed an internal server error on one page. Impact may vary depending on configuration but standard configuration avoids showing sensible info.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#151" - 2024-01-15 - Moderate impact, Low risk - BREACH vulnerability in admin settings

Chamilo 1.11.x (up to 1.11.26) allowed people in control of an admin account to exploit a BREACH type vulnerability. Due to elements that make BREACH attack possible, SSL/TLS protected traffic remains vulnerable and can be attacked to uncover information from the website.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#150" - 2024-01-15 - Low impact, High risk - XSS in course catalogue search

Chamilo 1.11.x (up to 1.11.26) allowed XSS to be introduced in the course catalogue.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#149" - 2024-01-15 - Low impact, Low risk - XSS accessible to admin accounts

Chamilo 1.11.x (up to 1.11.26) allowed admin users to introduce XSS in user search.

Reported by: BeezNest

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#148" - 2024-01-15 - Low impact, High risk - XSS in course catalogue search

Chamilo 1.11.x (up to 1.11.26) allowed XSS to be introduced in the course catalogue.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#147" - 2024-01-15 - Low impact, Low risk - XSS accessible to admin accounts

Chamilo 1.11.x (up to 1.11.26) allowed admin users to craft a URL to introduce an XSS.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#146" - 2024-01-15 - Low impact, Moderate risk - XSS in file upload visualization

Chamilo 1.11.x (up to 1.11.26) allowed privileged users to craft the name of some uploaded files to include XSS, which would affect pages where the name of the file was shown unmodified from the original.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#145" - 2023-12-27 - Low impact, Low risk - Authenticated but unauthorized access to users' details (announcements)

Chamilo 1.11.x (up to 1.11.26) allowed unprivileged users to access results listings with a custom-crafted request, leading to personal data leakage (firstname/lastname/username/email).

Reported by: Confidential (D)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#144" - 2023-12-27 - Low impact, Low risk - Authenticated but unauthorized access to users' details (usermanager)

Chamilo 1.11.x (up to 1.11.26) allowed unprivileged users to access results listings with a custom-crafted request, leading to personal data leakage (firstname/lastname/username and results).

Reported by: Confidential (D)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#143" - 2023-12-22 - Moderate impact, Moderate risk - Unauthorized access to users' details

Chamilo 1.11.x (up to 1.11.26) allowed authenticated users to obtain a list of all users through request manipulation.

Reported by: Confidential (D)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#142" - 2023-12-15 - Low impact, Low risk - Unauthorized access to course & session description page (catalogue)

Chamilo 1.11.x (up to 1.11.26) allowed anonymous users to see the course & session description page from the catalogue (despite course_catalogue_published = false) through a direct link.

Reported by: Confidential (D)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#141" - 2023-12-15 - Low impact, Low risk - Unauthorized access to questions review

Chamilo 1.11.x (up to 1.11.26) had a vulnerability allowing other users to craft a request to access question exam reviews.

Reported by: Confidential (D)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#140" - 2023-12-13 - Moderate impact, Low risk - XSS/CSRF in import of usergroups

Chamilo 1.11.x (up to 1.11.26) presented vulnerabilities in the admin interface to manage user groups, which could have led to XSS/CSRF.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#139" - 2023-12-13 - High impact, Low risk - BREACH vulnerability when db_manager_enabled is set

Chamilo 1.11.x (up to 1.11.26) pre-filled some of the database connexion details in admin form.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#138" - 2023-12-13 - Low impact, Low risk - Risk of tabnabbing / Phishing by Navigating Browser Tabs

Chamilo 1.11.x (up to 1.11.26) allowed for tabnabbing if used maliciously by a user with edition privileges.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#137" - 2023-12-13 - Low impact, Low risk - Autocomplete allowed in login form

Chamilo 1.11.x (up to 1.11.26) allowed the login form to autocomplete the username and password, which is not recommended for high security level systems with shared environments.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26 (requires setting a new parameter in configuration.php to enable):

Issue "#136" - 2023-12-13 - Moderate impact, Low risk - Cookie allowed in HTTP for HTTPS setups

Chamilo 1.11.x (up to 1.11.26) allowed cookies to be set as HTTP on an HTTPS connexion.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#135" - 2023-12-13 - Low impact, Low risk - Fix external vendors vulnerabilities

Chamilo 1.11.x (up to 1.11.26) was using outdated external libraries with vulnerabilities, potentially affecting the overall security of Chamilo.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#134" - 2023-12-13 - Moderate impact, Low risk - CSRF in cookie warning

Chamilo 1.11.x (up to 1.11.26) allowed for CSRF injection in the cookie usage warning message.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#133" - 2023-12-13 - Low impact, Low risk - XSS via file upload

Chamilo 1.11.x (up to 1.11.26) had a lack of filtering on users import (made by admins) of CSV files with usernames to anonymize.

Reported by: Confidential (L)

Fix for Chamilo 1.11.* up to 1.11.26:

Issue "#132" - 2023-11-14 - Low impact, Low risk - Inconsistent data can lock legitimate users out

Chamilo 1.11.26 might cause issues logging in when 'password_updated_at' was not set properly in previous versions.

Reported by: BeezNest

Fix for Chamilo 1.11.26:

Issue "#131" - 2023-09-14 - Low impact, Low risk - XSS through user creation form (by admin)

Chamilo 1.11.x (up to 1.11.24) allows admin users (allowed to create users) to exploit a vulnerability in field filtering to create an XSS attack.

Reported by: Juan Lu

Fix for Chamilo 1.11.* up to 1.11.24:

Issue "#130" - 2023-09-04 - Critical impact, High risk - Unauthenticated users may gain XSS and unauthenticated RCE (CVE-2023-4220)

Chamilo 1.11.x (up to 1.11.24) allows unauthenticated users to exploit a vulnerability in the upload of files, leading to XSS and RCE. The risk is reduced if Chamilo had already been updated to 1.11.24.

Reported by: Ngo Wei Lin (@Creastery) of STAR Labs SG Pte. Ltd. (@starlabs_sg)

Fixes for Chamilo 1.11.* up to 1.11.24:

Issue "#129" - 2023-09-04 - Critical impact, Moderate risk - Authenticated users may gain unauthenticated RCE (CVE-2023-4223/CVE-2023-4224/CVE-2023-4225/CVE-2023-4226)

Chamilo 1.11.x (up to 1.11.24) allows authenticated users (students) to exploit a vulnerability in the upload of files.

Reported by: Ngo Wei Lin (@Creastery) of STAR Labs SG Pte. Ltd. (@starlabs_sg)

Fixes for Chamilo 1.11.* up to 1.11.24:

Issue "#128" - 2023-09-04 - Critical impact, Moderate risk - Authenticated users may gain unauthenticated RCE (CVE-2023-4221/CVE-2023-4222)

Chamilo 1.11.x (up to 1.11.24) allows authenticated authenticated users (teachers) to exploit a vulnerability in the upload of learning paths when Chamilo RAPID/Oogie is enabled and to localhost.

Reported by: Ngo Wei Lin (@Creastery) of STAR Labs SG Pte. Ltd. (@starlabs_sg)

Fixes for Chamilo 1.11.* up to 1.11.24:

Issue "#127" - 2023-08-23 - Moderate impact, High risk - IDOR in messages

Chamilo 1.11.x (up to 1.11.22) allows attackers to use IDOR with authenticated user accounts. Due to the nature of the Chamilo application, messages are generally not used for very personal or confidential messages, but obviously uses of the software may vary, so we recommend all admins to update.

Reported by: Utkarsh Agrawal

Fix for Chamilo 1.11.* up to 1.11.22:

Issue "#126" - 2023-07-18 - High impact, Low risk - SQL injection by admin users

Chamilo 1.11.x (up to 1.11.20) allows attackers with admin privileges to use SQL injections in the sessions import process.

Reported by: Mekan Bairyev of MadDevs.io

Fix for Chamilo 1.11.* up to 1.11.20:

Issue "#125" - 2023-07-13 - Critical impact, Moderate risk - Htaccess File Upload Security Bypass on Windows (CVE-2023-3545)

Chamilo 1.11.x (up to 1.11.20) allows authenticated attackers (or unauthenticated attackers if combined with previous vulnerability such as n°124) to obtain remote code execution.

Reported by: Ngo Wei Lin (@Creastery) of STAR Labs SG Pte. Ltd. (@starlabs_sg)

Fix for Chamilo 1.11.* up to 1.11.20:

Issue "#124" - 2023-07-13 - Critical impact, High risk - Unauthenticated Arbitrary File Write RCE (CVE-2023-3533)

Chamilo 1.11.x (up to 1.11.20) allows unauthenticated attackers to perform stored cross-site scripting attacks and obtain remote code execution via arbitrary file write.

Reported by: Ngo Wei Lin (@Creastery) of STAR Labs SG Pte. Ltd. (@starlabs_sg)

Fix for Chamilo 1.11.* up to 1.11.20:

Issue "#123" - 2023-07-08 - Moderate impact, Moderate risk - CSRF through admin account (forum posts)

Chamilo 1.11.x (up to 1.11.20) allows accounts with admin privileges to be victim of CSRF attacks to delete forum posts.

Reported by: Utkarsh Agrawal

Fix to Chamilo 1.11.* up to 1.11.20:

Issue "#122" - 2023-07-08 - Moderate impact, Moderate risk - CSRF through admin account (courses management)

Chamilo 1.11.x (up to 1.11.20) allows accounts with admin privileges to be victim of CSRF attacks to delete courses.

Reported by: Utkarsh Agrawal

Fix to Chamilo 1.11.* up to 1.11.20:

Issue "#121" - 2023-07-05 - Critical impact, High risk - Unauthenticated Command Injection (CVE-2023-3368)

Chamilo 1.11.x (up to 1.11.20) allows unauthenticated attackers to execute commands on the server under the permissions of the web server. This is why this issue is considered critical.

Reported by: Ngo Wei Lin (@Creastery) of STAR Labs SG Pte. Ltd. (@starlabs_sg)

Fixes for Chamilo 1.11.* up to 1.11.20:

Issue "#120" - 2023-06-07 - Low impact, Low risk - XSS through admin account (classes/usergroups management)

Chamilo 1.11.x (up to 1.11.20) allows users with admin privilege account to insert XSS in the classes/usergroups management section.

Reported by: Alejandro Amorín

Fix for Chamilo 1.11.* up to 1.11.20:

Issue "#119" - 2023-06-06 - Low impact, Low risk - XSS through admin account (extra fields management)

Chamilo 1.11.x (up to 1.11.20) allows users with admin privilege account to insert XSS in the extra fields management section.

Reported by: Alejandro Amorín

Fix for Chamilo 1.11.* up to 1.11.20:

Issue "#118" - 2023-06-06 - Low impact, Low risk - XSS through admin account (session category management)

Chamilo 1.11.x (up to 1.11.20) allows users with admin privilege account to insert XSS in the session category management section.

Reported by: Alejandro Amorín

Fix for Chamilo 1.11.* up to 1.11.20:

Issue "#117" - 2023-06-06 - Low impact, Low risk - XSS through admin account (careers & promotions management)

Chamilo 1.11.x (up to 1.11.20) allows users with admin privilege account to insert XSS in the careers & promotions management section.

Reported by: Alejandro Amorín

Fix for Chamilo 1.11.* up to 1.11.20:

Issue "#116" - 2023-06-06 - Low impact, Low risk - XSS through admin account (languages management)

Chamilo 1.11.x (up to 1.11.20) allows users with admin privilege account to insert XSS in the languages management section.

Reported by: Alejandro Amorín

Fix for Chamilo 1.11.* up to 1.11.20:

Issue "#115" - 2023-06-06 - Low impact, Low risk - XSS through admin account (course category)

Chamilo 1.11.x (up to 1.11.20) allows users with admin privilege account to insert XSS in the course categories' definition.

Reported by: Alejandro Amorín

Fix for Chamilo 1.11.* up to 1.11.20:

Issue "#114" - 2023-06-06 - Low impact, Low risk - XSS through admin account (skills)

Chamilo 1.11.x (up to 1.11.20) allows users with admin privilege account to insert XSS in the skills wheel.

Reported by: Alejandro Amorín

Fix for Chamilo 1.11.* up to 1.11.20:

Issue "#113" - 2023-05-31 - Low impact, Low risk - XSS through SVG

Chamilo 1.11.x (up to 1.11.18) allows uploaded or edited SVG files to include JS and abuse them through XSS. This requires upload permissions (students or teachers, in specific contexts) and a place to show the hacked SVG.

Reported by: Miguel Segovia

Fix for Chamilo 1.11.* up to 1.11.18:

Issue "#112" - 2023-04-20 - Critical impact, High risk - Remote Code Execution

Chamilo 1.11.x (up to 1.11.18) allows an unauthenticated attacker to execute commands on the server under the permissions of the web server. This is why this issue is considered critical. Please update your Chamilo portal to 1.11.20 as soon as possible.

Reported by: Aituglo @ Randorisec

Fix for Chamilo 1.11.* up to 1.11.18:

Issue "#111" - 2023-04-20 - Moderate impact, Low risk - Multiple blind SSRF in links and social tools

Chamilo 1.11.x (up to 1.11.18) allows an attacker to do Server Side Request Forgery and obtain information on the services running on the server through unauthenticated crafted requests in the social and links tools.

Reported by: Aituglo @ Randorisec

Fix for Chamilo 1.11.*:

Issue "#110" - 2023-04-20 - Moderate impact, Low risk - Multiple CSRF to change visibility of files

Chamilo 1.11.x (up to 1.11.18) allows an attacker to fool a teacher into following a specially crafted link in order to change documents visibility. We consider this a low risk vulnerability because the attacker first has to know the precise course and document and a teacher that has access to this course in order to craft the right link.

Reported by: Aituglo @ Randorisec

Fix for Chamilo 1.11.*:

Issue "#109" - 2023-04-15 - Moderate impact, Moderate risk - IDOR in work/student publication

Chamilo 1.11.x (up to 1.11.18) allows a student in a given course to download the document of another student by knowing the document ID and being subscribed to the same course.

Reported by: Aituglo @ Randorisec

Fix for Chamilo 1.11.*:

Issue "#108" - 2023-04-15 - Low impact, Low risk - CSRF in gradebook as teacher

Chamilo 1.11.x (up to 1.11.18) allows a teacher account to be fooled by a specially crafted link to modify the grade of a student (for external resources).

Reported by: Aituglo @ Randorisec

Fix for Chamilo 1.11.*:

Issue "#107" - 2023-04-15 - Low impact, Low risk - CSRF in course chat

Chamilo 1.11.x (up to 1.11.18) allows a user fooled by a specially crafted link to post a message (in his/her name) to the course chat users.

Reported by: Aituglo @ Randorisec

Fix for Chamilo 1.11.*:

Issue "#106" - 2023-04-15 - Moderate impact, Moderate risk - A student can access and modify another student's personal notes

Chamilo 1.11.x (up to 1.11.18) allows a student to access and modify someone else's personal notes (through notes scanning IDs). While personal notes in courses are usually not a big deal, it still allows other users to see something you hold private, so a big deal in terms of privacy. This could also be combined with issue 101 to cause more damage.

Reported by: Aituglo @ Randorisec

Fix for Chamilo 1.11.*:

Issue "#105" - 2023-04-15 - Low impact, Moderate risk - XSS in student work comments

Chamilo 1.11.x (up to 1.11.18) allows a student to update a work with an XSS in the feedback/comment field.

Reported by: Aituglo @ Randorisec

Fix for Chamilo 1.11.*:

Issue "#104" - 2023-04-11 - Moderate impact, High risk - XSS in personal profile

Chamilo 1.11.x (up to 1.11.18) allows a user to add XSS to his/her own profile on the social network. If the "skype" and "linkedin_url" fields are enabled (they are by default) or if other text-type fields are added, these can be used by a user to target other users looking at his/her profile on the social network. This requires befriending the attacker first or viewing the profile as an administrator (so it could be used to XSS the admin). It requires a normal user account, so not available to anonymous users.

Reported by: Miguel Segovia

Fix for Chamilo 1.11.*:

Issue "#103" - 2023-04-11 - Low impact, Moderate risk - XSS in "My progress" tab

Chamilo 1.11.x (up to 1.11.18) allows anyone to build a malicious link to a report inside a course in Chamilo. We consider the risk to be moderate because that would require the attacker to know the code of the course to which a specific user is subscribed, then target that specific user by succeeding in making the specific user click that specific link, which requires considerable efforts to be put in place initially for a relatively small target.

Reported by: Miguel Segovia

Fix for Chamilo 1.11.*:

Issue "#102" - 2023-04-11 - Low impact, Moderate risk - XSS in forum titles

Chamilo 1.11.x (up to 1.11.18) allows teachers to add XSS into a forum title, or students to do that through their student group, if this feature is enabled by the teacher.

Reported by: Miguel Segovia

Fix for Chamilo 1.11.*:

Issue "#101" - 2023-04-11 - Low impact, Low risk - XSS in personal notes and teacher notes

Chamilo 1.11.x (up to 1.11.18) allows a user to add XSS into its personal notes. Given nobody else can see these notes than the user itself or the admin by impersonating the user, the risk is mostly of someone accessing through stolen credentials, which would reduce the interest of such an attack. However, the teacer notes plugin also allows this and could allow one teacher to affect other teachers or students through XSS attacks.

Reported by: Miguel Segovia

Fix for Chamilo 1.11.*:

Issue "#100" - 2023-04-11 - Low impact, Low risk - XSS in resources sequencing

Chamilo 1.11.x (up to 1.11.18) allows an administrator to edit resources sequencing and insert XSS attacks.

Reported by: Miguel Segovia

Fix for Chamilo 1.11.*:

Issue "#99" - 2023-04-11 - Low impact, Low risk - XSS in system announcements

Chamilo 1.11.x (up to 1.11.18) allows an administrator to edit system announcements and insert XSS attacks. We believe this is highly unlikely as it requires admin access in the first place, but if abused through stolen admin credentials, it can affect all users.

Reported by: Miguel Segovia

Fix for Chamilo 1.11.*:

Issue "#98" - 2023-04-11 - Low impact, Low risk - XSS in homepage edition

Chamilo 1.11.x (up to 1.11.18) allows an administrator to edit links on the homepage and insert XSS attacks. We believe this is highly unlikely as it requires admin access in the first place, but if abused through stolen admin credentials, it can affect all users.

Reported by: Miguel Segovia

Fix for Chamilo 1.11.*:

Issue "#97" - 2023-04-11 - Low impact, High risk - XSS in skills wheel

Chamilo 1.11.x (up to 1.11.18) allows XSS attacks through links pointing at the skills wheel. Skills management is enabled by default and XSS can affect any user (including admins) through specially crafted links to a Chamilo portal from external websites.

Reported by: Miguel Segovia

Fix for Chamilo 1.11.*:

Issue "#96" - 2023-04-06 - Low impact, Moderate risk - XSS in course categories

Chamilo 1.11.x (up to 1.11.18) allows XSS attacks in course category edition, specifically targeting Chamilo administrators.

Reported by: Miguel Segovia

Fix for Chamilo 1.11.*:

Issue "#95" - 2022-09-14 - High impact, Moderate risk - Authenticated Local file inclusion

Chamilo 1.11.16 allows big file uploads to copy/move local files out of the Chamilo directory.

Reported by: Eddie Zhang @ Willow Inc

Fix for Chamilo 1.11.6:

Issue "#94" - 2022-09-06 - High impact, Moderate risk - Authenticated RCE via zipslip attack in file upload (CVE-2022-40407)

Chamilo uses the PclZip library since a very long time ago (so this affects many versions of Chamilo), and this library is vulnerabile to RCE via zipslip, a type of directory traversal. We highly recommend you update your Chamilo portal as soon as possible.

Reported by: Alex Mackey

Fix for 1.11.* in environments with git/composer: just run "composer update"

Fix for 1.11.* without support for git/composer:

Fix for 1.10.* and earlier (note: also please update to 1.11)

Issue "#93" - 2022-03-01 - High impact, Low risk - SSRF and Phar Deserialization vulnerability that lead to remote code execution

Chamilo uses the mPDF/Mpdf library to convert HTML to PDF. This can be abused by people able to edit the HTML (so with edition permissions) to trigger a Remote Code Execution vulnerability. This probably affects all 1.11.* versions.

Reported by: Anna Violet

Fix for 1.11.16:

It is necessary to execute the "composer update" command after the update, to upgrade Mpdf from v6 to v8 (which contains complementary fixes).

Risk "R#1" - 2022-02-16 - Low impact, Low risk - XSS Vulnerability in SVG files

This is classified as a risk, not a classical vulnerability, because we believe there are enough conditions and features in Chamilo to mitigate or remove this issue. Researcher @AggressiveUser reported that the documents tool (at least) in Chamilo was vulnerable to XSS embedded in SVG (see https://research.securitum.com/do-you-allow-to-load-svg-files-you-have-xss/ for example).

This is true: we do allow SVG files to be uploaded. We do not filter SVG content, and SVG files (or strings) can include JavaScript, and a browser, when interpreting SVG, will automatically execute whatever JS code this SVG file requests to be executed.

However, we do want to offer the possibility for teachers to be able to use the SVG format, and students, under teachers' supervision, to use it as well. SVG has unique qualities in terms of visual quality. It is perfect to present concepts in both an "extremely small" and "extremely large" view. Ideal for detailed schematics, for example. Ideal for education.

Filtering the JS code inside SVG is very tricky, as JS is allowed as part of SVG and, when present, is usually used to animate the SVG. We have looked for, but haven't found, any Open Source library that would allow to do this safely from PHP.

This puts us in a delicate situation, but we believe the following elements are sufficient to cover most, if not all, cases of SVG/XSS attack incidents.

  • SVG can be used as uploaded files or inline SVG, embedded in HTML. We allow teachers and students to upload files and edit HTML files, and even create SVG files through an online tool, but all accesses to these tools are relatively limited.
  • Editing SVG files through the online tool (SVGEdit) is only allowed to teachers or users with higher privileges than teachers, or in the case of the documents tool being shared through a users group.
  • Uploading SVG files is allowed to students in several places (message attachments, wiki, dropbox, assignments), but the only places where these can be seen as SVG (and not as an uninterpreted attachment) are the forum and, if in groups, the document tool. The first tools are not affected by this SVG vulnerability because they only offer files as attachments. Final users could be affected only if they downloaded the files and then uploaded them to a web application, or if the opened it in a browser locally (which would be a very rare event and shouldn't have much impact). The document and forum tools will show the images and, as such, represent a risk, but also require the users to be identified on the platform. As such, we believe the risk is considerably reduced.
  • Adding SVG inside the source of an HTML document is also bound to a user authentication, so an attack of this kind could be traced back to the original user.
  • Viewing documents from the course require you to either be a student subscribed to the course, or requires the course to have been set as "public", which can only be done by a user with teacher privileges or above. Usually, courses set as "public" are only ever edited by teachers, so again... risk highly reduced. Other parts of the application which allow you to see images are either not editable by students or require authentication to access them. Risk highly reduced.
  • File extensions can be filtered through blacklist or whitelist in the administration, so uploading SVGs can be prevented (editing HTML and creating SVG diagrams do not follow this rule, though).
  • The SVG Editor in the documents tool can be disabled from the administration options.
  • JS inside an inline SVG inside an HTML document will be filtered by the HTMLPurifier filter on HTML for non-teacher users (for teachers too, unless the course_introduction_html_strict_filtering setting has been turned off)
  • Chamilo admins with SFTP or SSH access have the possibility to add Content Security Policy settings to configuration.php, as can be seen here https://github.com/chamilo/chamilo-lms/blob/1.11.x/main/install/configuration.dist.php#L559 and here https://github.com/chamilo/chamilo-lms/blob/1.11.x/main/install/configuration.dist.php#L588

For all these reasons combined, we believe it is acceptable to not prevent the upload of SVG file, in the context of the educational purpose of Chamilo, and in the context of the many options that exist to mitigate that risk.

We are incredibly thankful to researcher @AggressiveUser for having reported this issue, though, as it enabled us to grow conscious of the issue, and will allow us to better design Chamilo in the future, to put mechanisms in place that will better control the types of contents available for teachers to use in their courses.

Issue "#92" - 2021-11-12 - Low impact, Low risk - XSS Vulnerability in jCapture plugin (CVE-2021-43687)

A XSS Vulnerability in a parameter printed in a form by the jCapture plugin (a plugin seldom used in the documents tool to grab screencasts through a Java Applet).

Reported by: Feras AL-KASSAR (SAP) in the context of the EU research project TESTABLE.

Issue "#91" - 2021-09-11 - Low impact, Medium risk - XSS Vulnerability in HTML5 strings sanitization

A XSS Vulnerability in HTML5 strings sanitization was found in Chamilo in the KSES library. The issue, already known as CVE-2019-20041 and fixed in https://github.com/WordPress/wordpress-develop/commit/b1975463dd995da19bb40d3fa0786498717e3c53

Reported by: Research team in KAIST WSP Lab

Fix for 1.11.16:

Issue "#90" - 2021-09-02 - Low impact, Medium risk - Blind Server-Side Request Forgery (SSRF) in the social network

A Blind Server-Side Request Forgery vulnerability was found in the social network tool, allowing malicious (or fooled) registered users of Chamilo to post links to malicious websites that would include attacks in their website information collected through OpenGraph. We do not have a complete solution at this time (we have planned a development for this), and recommend that, if you consider your registered users are not trusted, to disable the social network tool, which can be done from the "Configuration settings" on the administration tab.

Reported by: Dylan Lawhon, Ava Cole, Declan Oberzan, Aidan Quimby @ X-Force Red team, IBM

Fix for 1.11.16:

Issue "#89" - 2021-09-02 - Low impact, High risk - XSS in documents

An XSS vulnerability was found in the documents tool, allowing a user to include JS in the link to a document in a learning path. This only requires the capability to trick someone else on clicking a link to a document in Chamilo. We consider XSS as low impact, as they don't affect Chamilo directly but could affect users of Chamilo for other stuff.

Reported by: Dylan Lawhon, Ava Cole, Declan Oberzan, Aidan Quimby @ X-Force Red team, IBM

Fix for 1.11.16:

Issue "#88" - 2021-09-02 - Low impact, Medium risk - XSS in learning paths

An XSS vulnerability was found in the learning paths tool, when embedding some content, affecting 1.11.* versions, including 1.11.16.

Reported by: Dylan Lawhon, Ava Cole, Declan Oberzan, Aidan Quimby @ X-Force Red team, IBM

Fix for 1.11.16

Issue "#87" - 2021-09-02 - Moderate impact, Low risk - CSRF an XSS in exercises

A CSRF and an XSS vulnerability were found in the exercises tool, results page, affecting 1.11.* versions, including 1.11.16. Due to the fact that it requires access to one particular report, which is only true for specific users, sadly including the platform administrator (except if taken as part of a public course, which requires a voluntary change to the default values of Chamilo), we consider this vulnerability to be low risk as it needs to be targeted to an admin or teacher user to do significant damage on Chamilo's side. We categorize CSRF as moderate impact (and XSS as low impact).

Reported by: Dylan Lawhon, Ava Cole, Declan Oberzan, Aidan Quimby @ X-Force Red team, IBM

Fix for 1.11.16:

Issue "#86" - 2021-08-11 - Moderate impact, Moderate risk - Reflected Cross-site Scripting (XSS)

Multiple instances of Reflected XSS were found throughout the application. This is due an over-reliance of a broken implementation of input sanitization. As a result, an unauthenticated attacker is able to execute arbitrary JavaScript code by deceiving an Admin role user to trigger a specially crafted payload URL, resulting in potential state-changing actions being carried out.

Reported by: Poh Jia Hao, STAR Labs <[email protected]>

Fix for 1.11.14:

Issue "#85" - 2021-08-11 - High impact, Low risk - Broken Access Control leading to Vertical Privilege Escalation

It was discovered that Session Admin role users are able to modify existing users and escalate their privileges to Platform Admin due to the lack of validation on the user modification form. Since they can create new users as well, Session Admin users are therefore able to escalate their privileges to Platform Admin. Because session admins are already very high-privileged users, we consider this to be low risk.

Reported by: Poh Jia Hao, STAR Labs <[email protected]>

Fix for 1.11.14:

Issue "#84" - 2021-08-11 - High impact, Moderate risk - Authenticated Blind SQL Injection

Multiple instances of SQL injection were discovered due to the lack of user input sanitization. An authenticated user is able to inject and execute arbitrary SQL queries as a result.

Reported by: Poh Jia Hao, STAR Labs <[email protected]>

Fixes for 1.11.14:

Issue "#83" - 2021-08-11 - High impact, Moderate risk - Cross Site Request Forgery (CSRF) leading to Remote Code Execution

It was discovered that the Chamilo administrative panel did not have sufficient anti-CSRF measures, such as the usage of a token. As such, attackers may trick an authenticated Admin user to visit their malicious website and perform a CSRF attack, altering settings on the administrative panel and weakening the security posture of the application. With a set of Trainer role account, the maximum impact for this vulnerability is Remote Code Execution.

Reported by: Poh Jia Hao, STAR Labs <[email protected]>

Fixes for 1.11.14:

Issue "#82" - 2021-08-11 - High impact, Low risk - Insecure Deserialization and Insecure File Upload leading to Remote Code Execution

It was discovered that an authenticated Trainer role user is able to force the server to send requests to arbitrary domains (SSRF) via a specific end-point. By itself, SSRF allows the attacker to enumerate the internal network by probing private IP addresses for the existence of resources. However, since Trainers can upload files to the server, they are able to upload a phar file and then make use of this SSRF vulnerability to invoke the phar:// protocol to deserialize the uploaded payload and execute system commands.

Reported by: Poh Jia Hao, STAR Labs <[email protected]>

Fix for 1.11.14:

Issue "#81" - 2021-07-26 - High impact, Low risk - Zero Code RCE in admin

A zero-code Remote Code Injection vulnerability issue was reported with a feature added in 1.11.14, allowing an admin user to upload code in the form of a new plugin. This feature has to be enabled in configuration.php to work, and another user has to trick the admin into uploading the plugin through another vulnerability (making the admin visit its profile). The need to enable plugin upload through configuration.php is why we consider this "low" risk.

Reported almost simultaneously by: Poh Jia Hao, STAR Labs <[email protected]> and Febin Mon Saji (https://twitter.com/febinrev)

Fixes for 1.11.14 (which may require fixes for #79 to have been applied first)

Issue "#80" - 2021-07-26 - Low impact, Low risk - Authenticated XSS

A series of authenticated XSS vulnerabilities were reported in Chamilo forms.

Reported by: Poh Jia Hao, STAR Labs <[email protected]>

Fixes for 1.11.x (to be included in 1.11.16):

Issue "#79" - 2021-07-17 - Moderate impact, Low risk - CSRF in global chat and social wall

A CSRF was reported in the users search feature in the social network, allowing an authenticated user to post a message to an admin user, prompting the admin's browser to do a series of unfriendly stuff. This requires the social network or global chat to be enabled and the possibility for the user to write to any other user.

Reported by: Febin Mon Saji (https://twitter.com/febinrev)

Fix for 1.11.x:

Issue "#78" - 2021-07-12 - Low impact, Moderate risk - Reflected XSS in users search in social network

A reflected XSS vulnerability was reported in the users search feature in the social network, allowing for the inclusion of images on remote sites.

Reported by: Pedro Tavares - https://seguranca-informatica.pt/

Fix for 1.11.x

Issue "#77" - 2021-07-12 - Low impact, Moderate risk - Stored XSS in invitation

A stored XSS vulnerability was reported in social network invitation inside Chamilo 1.11.14. Invitations can only be sent by registered users.

Reported by: Pedro Tavares - https://seguranca-informatica.pt/

Fix for 1.11.x

Issue "#76" - 2021-07-12 - Low impact, Low risk - XSS in install form

An XSS vulnerability was reported in the install procedure of Chamilo 1.11.14. Considering the fact that the install script is only available on non-installed Chamilo portals, and completing the installation requires database credentials to be correct, we consider this a very low risk issue.

Reported by: Pedro Tavares - https://seguranca-informatica.pt/

Fix for 1.11.x

Issue "#75" - 2021-06-18 - Low impact, High risk - Unnecessary information disclosure

The possibility to see and click the breadcrumb navigation element on a page with the error message "Not allowed" was reported as a vulnerability in Chamilo 1.11.x, as it allows the unauthenticated user to obtain additional information about the platform (URL to course home, for example), which is not necessary. The fix to this issue introduces a new configuration.php setting 'hide_breadcrumb_if_not_allowed' which prevents this but has to be manually enabled.

Reported by: Undisclosed

Fix for 1.11.x

Issue "#74" - 2021-06-11 - Low impact, low risk - Weak protection of password at account creation

The lack of requirement, by Chamilo 1.11.x, for the user to change his/her password at first login was reported as a vulnerability, so we added an administration option (which also requires the creation of an extra field) to force users to change their password the first time they log in.

Reported by: Undisclosed

Fix for 1.11.x

Issue "#73" - 2021-06-10 - Low impact, low risk - Multiple IP use in single connected user feature

The possibility to use different IP addresses to cheat the "single connected user" feature was reported in Chamilo 1.11.x. It only affects portals that use the prevent_multiple_simultaneous_login configuration option, and it requires the attacker to use different IP addresses (or to spoof them). With the fix, the check is based on the user and is independent of the IP.

Reported by: Undisclosed

Fix for 1.11.x

Issue "#72" - 2021-06-10 - Low impact, low risk - Unprotected access to course files

Unauthorized access to the app/cache/ folder was reported as a security risk, considering it can contain course backups and other exports until the cache is cleared (which is a manual process). Although file names are usually generated with time tokens, links are published to authenticated users, and these could share them with external users, or scripts could reconstruct partial file names and find some of the files. The fix prevents direct access to this folder, which should not cause any issue considering the files are accessed through reader scripts.

Reported by: Undisclosed

Fix for 1.11.x

Issue "#71" - 2021-06-08 - Low impact, high risk - Unnecessary availability of web services

The availability of web services was reported as an unnecessary risk for portals with no use of the web services. An option has been added to allow admins to disable the webservices in general (so there is still a need to actively disable them through the configuration.php file).

Reported by: Undiscloed

Fix for 1.11.x

Issue "#70" - 2021-06-04 - Low impact, high risk - XSS in web service script

An XSS vulnerability was reported on a script used for practical purposes in the configuration of web services. This does not affect the security of webservices, but could be used to lure users into navigating to this script.

Reported by: Undisclosed

Fix for 1.11.x

Issue "#69" - 2021-05-25 - Moderate impact, moderate risk - Server info disclosure

A server info disclosure vulnerability has been discovered in 1.11, allowing non authenticated users to take some actions (part of the Chamilo installation procedure) that could reveal server information.

Reported by: Undisclosed

Fix for 1.11.x

Issue "#68" - 2021-05-21 - Low impact, low risk - XSS in forum

An XSS vulnerability was reported in Chamilo 1.11 in the forum, allowing authenticated users to include a XSS attack in their posts.

Reported by: Undisclosed

Fix for 1.11.x

Issue "#67" - 2021-05-27 - High impact, very high risk - Unauthenticated SQL injection - CVE-2021-34187

An unauthenticated SQL injection was reported in Chamilo 1.11 and (dev version of) 2.0. Considering 2.0 is not used in production yet, we have fixed it but the fixes below do not mention it.

Reported by Kutlymurat Mambetniyazov (@manfromkz from NitroTeam.kz).

Fix for 1.11.x

Issue "#66" - 2021-05-21 - High impact, very low risk - Authenticated RCE in accessory script

An authenticated RCE (uploading htaccess files) was reported in Chamilo 1.11.x

Reported by Andrej Spuler (@netw0r)

Fix for 1.11.x

Issue "#65" - 2021-05-15 - High impact, very high risk - Unauthenticated SQL injection in plugin

An unauthenticated SQL injection was reported in a Chamilo 1.11.x plugin.

Reported by Andrej Spuler (@netw0r)

Fix for 1.11.x

Issue "#64" - 2021-05-14 - Low impact, low risk - XSS in course document title on upload

An XSS vulnerability requiring at least student access and course groups access, or teacher access was reported on the course title in Chamilo 1.11.x.

Reported by Andrej Spuler (@netw0r)

Fix for 1.11.x

Issue "#63" - 2021-05-14 - Low impact, moderate risk - XSS in course documents

An XSS vulnerability requiring at least student access and course groups access, or teacher access was reported in the documents editor in Chamilo 1.11.x, but there are configuration options to avoid it.

Reported by Andrej Spuler (@netw0r)

This will be attended in version 2.0 of Chamilo.

Issue "#62" - 2021-05-14 - Low impact, low risk - XSS in course description

An XSS vulnerability requiring teacher access was reported on the course description in Chamilo 1.11.x.

Reported by Andrej Spuler (@netw0r)

Fix for 1.11.x

Issue "#61" - 2021-05-14 - Low impact, very low risk - XSS in course name

An XSS vulnerability requiring admin access was reported on the course name in Chamilo 1.11.x.

Reported by Andrej Spuler (@netw0r)

Fix for 1.11.x

Issue "#60" - 2021-05-13 - High impact, very low risk - SQL injection vulnerability in sessions (requires admin perms)

An authenticated SQL injection requiring admin permissions was reported on Chamilo 1.11.x.

Reported by Andrej Spuler (@netw0r)

Fix for 1.11.x

Issue "#59" - 2021-05-13 - High impact, low risk - Unauthenticated SQL injection vulnerability when a module is enabled

An unauthenticated SQL injection only exploitable when a specific module is enabled was reported in Chamilo 1.11.14.

Reported by Andrej Spuler (@netw0r)

Fix for 1.11.14

Issue "#58' - 2021-05-12 - High impact, very low risk - LFI/RCE vulnerability in users import

An authenticated LFI (leading to remote code execution if a specific wrapper is available on the Chamilo server) has been reported on chamilo 1.11.x.

Reported by Andrej Spuler (@netw0r) CVE-2021-32925

Fix for 1.11.x

Issue "#57" - 2021-04-20 - High impact, very low risk - Command Injection vulnerability in course_intro_pdf_import.php

A vulnerable section of code has been commented out in previous versions, but its presence is easily flagged as a vulnerability.

Reported by {undisclosed}.

Fix for 1.11.x

Issue "#56" - 2021-04-20 - Low impact, high risk - Scripts accessible without authentication

Some scripts were accessible without authentication, that could lead to some data leakage in specific circumstances.

Reported by {undisclosed}.

Fix for 1.11.x

Issue "#55" - 2021-04-20 - Moderate impact, high risk - Unauthenticated SSRF and open redirect in proxy.php

Server side request forgery and open redirect in proxy.php, a minor script used in some specific cases for portals behind a proxy. We have disabled this script by default now.

Reported by {undisclosed}.

Fix for 1.11.x

Issue "#54" - 2021-04-20 - Moderate impact, low risk - Reflected XSS in access_url.php

Reflected XSS vulnerability in access_url.php, a minor script to get the list of URLs (through SOAP) on a multiple URLs setup.

Reported by {undisclosed}.

Fix for 1.11.x

Issue "#53" - 2021-04-20 - Moderate impact, moderate risk - Reflected XSS in template.lib.php

Reflected XSS vulnerability in template.lib.php.

Reported by {undisclosed}.

Fix for 1.11.x

Issue "#52" - 2021-04-20 - Moderate impact, low risk - Authenticated reflected XSS

It is possible to trigger an XSS vulnerability in documents through a specially crafted URL. However, it requires the user to be authenticated (except in the case of open courses).

Reported by {undisclosed}.

Fix for 1.11.x

Issue "#51" - 2021-04-20 - High impact, high risk - Multiple unauthenticated SQL injections

SQL injections possible through AJAX calls.

Reported by {undisclosed}.

Fix for 1.11.x

Issue "#50" - 2021-04-20 - High impact, moderate risk - Webservices authenticated arbitrary file upload

Security key improperly checked in API calls.

Reported by {undisclosed}.

Fix for 1.11.x

Issue "#49" - 2021-04-20 - High impact, high risk - API authentication bypass

Security key improperly checked in API calls.

Reported by {undisclosed}.

Fix for 1.11.x

Issue "#48" - 2021-04-17 - Critical impact, high risk - Remote Code Execution

Attacker may execute code remotely in a specific directory if able to upload a file there and the installation documentation for Chamilo suggests enabling file upload there, so it is the case by default.

Rating: https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H/E:F/RC:C

Reported by M. Cory Billington (@_th3y). CVE: http://cve.mitre.org/cgi-bin/cvename.cgi?name=2021-31933

Fix for 1.11.x

Issue "#47" - 2021-01-28 - Critical impact, high risk - SQL injection

An unauthenticated SQL injection vulnerability has been detected in Chamilo 1.11.14. Unauthenticated SQL injections are considered critical because they allow... well, unauthenticated users to affect the database. This type of vulnerability is historically extremely rare in Chamilo. We highly recommend applying the following patch as soon as possible to your Chamilo installation.

Reported by {undisclosed}.

Fix for 1.11.x

Issue "#46" - 2021-01-28 - High impact, moderate risk - Path traversal

Authenticated path traversal. Requires authentication but can read files on the server.

Reported by {undisclosed}.

Fix for 1.11.x

Issue "#45" - 2021-01-21 - Moderate impact, moderate risk - XSS vulnerability in agenda

An authenticated user with the right to edit calendar items can introduce an XSS attack into the agenda page.

Reported by Ali Oğuz from https://www.netsparker.com/. CVE: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-26746

Fix for 1.11.x

Issue "#44" - 2021-01-14 - Moderate impact, moderate risk - Cross Site Request Forgery in calendar

Chamilo LMS version 1.11.14 and prior contain a CSRF vulnerability that allows a user with permissions to edit calendar event (including personal agenda) to inject JS code that enable the CSRF vector to be exploited. This requires privileged access, but could be abused by low-access level users if the proper conditions are met.

Thanks to Maheshkumar Darji for reporting the issue to us.

Fix for 1.11.x

Issue "#43" - 2020-05-04 - Moderate impact, moderate risk - XSS in personal profile and messages

Chamilo LMS version 1.11.10 contains several additional XSS vulnerabilities in the personal profile edition form and the personal messaging, affecting the user him/herself and social network friends.

Thanks to Emil Virkki for reporting the issue to us.

Fix for 1.11.x

Issue "#42" - 2020-04-23 - High risk, low impact - XSS in extended user's profile fields

Chamilo LMS version 1.11.10 contains an XSS vulnerability in the personal profile edition form, affecting the user him/herself and social network friends.

Thanks to Vu Van Tien for reporting the issue to us.

Fix for 1.11.x

Issue "#41" - 2020-04-22 - Medium risk, high impact - CSRF and privilege escalation via CSRF

Chamilo LMS version 1.11.10 contains a CSRF vulnerability and a privilege escalation vulnerability in the (administrative) user edition form. This requires specifically targeting an admin user

Thanks to Toản Đăng for reporting the issue to us.

Fix for 1.11.x

Issue "#40" - 2019-04-14 - Low risk, moderate impact - XSS

Chamilo LMS version 1.11.8 contains an XSS vulnerability in the course forum titles.

Thanks to HexPandaa for reporting the issue to us.

Fixes for 1.11.x

Issue "#39" - 2019-02-25 - High risk, high impact - RCE, File upload

Chamilo LMS version 1.11.8 contains a remote code execution and a file upload vulnerability, already moderated by the fix in issue 36, but still available to privileged users. You will need to run composer update once the patch is applied, as we use an additional external library to remove the flaw (PHP 5 does not allow for filtering of classes before unserialize).

Thanks to 0xecute for reporting the issue to us.

Fixes for 1.11.x (through a set of commits)

Issue "#38" - 2018-12-17 - Low risk, high impact - XXE

This is a special case because the issue was reported on the 2018-12-17 but took an unusually long time to fix because it affected one of the libraries we use the most for XML parsing, with no other solution than to switch from one library to another for standard import formats.

We thank Pierre Pailleux for reporting the issue to us.

Fixes for 1.11.x

Issue "#37" - 2018-12-18 - Low risk, moderate impact - XSS

This is a special case because the issue was reported on the 2018-12-18 and fixed almost immediately, but we forgot to report it. Chamilo LMS version 1.11.8 contains an XSS vulnerability in the tickets module.

We thank Pierre Pailleux for reporting the issue to us.

Fixes for 1.11.x

Issue "#36" - 2019-02-25 - Moderate risk, high impact - Privilege escalation/RCE

Chamilo LMS version 1.11.8 contains a privilege escalation risk enabled by the existence of a flaw in the deprecated code of the text-to-speech module Nanogong. This one is tricky to apply through a Chamilo update because it requires the main/inc/lib/nanogong directory to be removed. If you are in developer mode, a simple "composer update" will remove the directory once you updated Chamilo to 1.11.10 or later.

Thanks to 0xecute for reporting the issue to us.

Fixes for 1.11.x

Issue '#35" - 2019-01-23 - High risk, moderate impact - Unauthenticated personal data leak

Chamilo LMS version 1.11.8 contains the following flaws (additional to the previously reported flaws):

2 leaks of user firstname, lastname, picture and e-mail through an AJAX call, not requiring authentication

Thanks to 0xecute for reporting the issue to us.

Fixes for 1.11.x

These security patches will be part of version 1.11.10 and versions 2.0 and up.

Issue '#34" - 2019-01-14 - Moderate risk, moderate impact - XSS and unauthorized access

Chamilo LMS version 1.11.8 contains a few XSS vulnerabilities in the social messaging, and an XSS and an unauthorized access in the tickets reporting system. All require authenticated access, so we do not consider them a high risk or impact.

Thanks to João Arnaut, Dognaedis for reporting the issue to us.

Fix for 1.11.x

These security patches will be part of version 1.11.10 and versions 2.0 and up.

Issue '#33" - 2018-12-13 - Moderate risk, high impact - SQL Injection

Chamilo LMS version 1.11.8 contains an SQL injection, allowing users with access to the sessions catalogue (which may optionally be made public) to extract and/or modify database information. We recommend any administrator using sessions and having enabled the sessions catalogue to apply the patch ASAP.

We thank Pierre Pailleux for reporting the issue to us.

Fix for 1.11.x

These security patches will be part of version 1.11.10 and versions 2.0 and up.

Issue '#32" - 2018-11-28 - Low risk - More XSS and path disclosure issues

Chamilo LMS version 1.11.8 contains two XSS vulnerabilities, one in the gradebook dependencies tool and one in the social groups tool, allowing authenticated users to affect other users, under specific conditions of permissions granted by administrators. This is considered "low risk" due to the nature of the feature it exploits. Also, some paths disclosure appeared in the case of a platform configured as "test" platform and showing PHP notice and warning messages on screen (which is not recommended).

We thank Pierre Pailleux for reporting the issues to us.

Fix for 1.11.x

These security patches will be part of version 1.11.10 and versions 2.0 and up.

Issue '#31' - 2018-11-18 - Moderate risk - SQLi, Reflected and Stored XSS vulnerabilities

Chamilo LMS version 1.11.8 contains several vulnerabilities of different levels of risk and criticality.

Two SQL injection issues require admin access, so although very high-damage vulnerabilities, we lowered the risk because they require very specific access to administration pages. Several reflexted XSS vulnerabilities have been reported in a mix of admin and public pages, so we raised the risk to moderate. One stored XSS vulnerability was found on a course description page that requires user access to the specific course (low risk).

We thank Zekvan Arslan and the Netsparker Web Application Security Scanner team for their work finding and reporting these issues. A first advisory was sent to the wrong e-mail in July but we only caught it in November. A special thank to the Netsparker team for finding the right channels and being persistent on that one. We couldn't have made this safe report without you.

Fix for 1.11.x

This security patch will be part of version 1.11.10 and versions 2.0 and up.

Issue '#30" - 2018-11-13 - Low risk - More XSS in agenda

Chamilo LMS version 1.11.8 contains an additional series of XSS vulnerabilities in the agenda tool, allowing authenticated users to affect other users (sharing the same agenda events). This is considered "low risk" because, due to the nature of the feature it exploits, it is either necessary to be a teacher in a course or to be a student that was explicitly allowed by a teacher to edit agenda events. As such, the existence of the issue would only (in theory) affect open platforms or platforms with malicious (and security-skilled) teachers.

We thank Pierre Pailleux for reporting the issues to us.

Fix for 1.11.x

These security patches will be part of version 1.11.10 and versions 2.0 and up.

Issue '#29' - 2018-10-06 - Moderate risk - XSS on registration page

Chamilo LMS version 1.11.8 contains an XSS vulnerability in the user registration form. This represents a "moderate" risk because it is only available to open portals (Chamilo portals that allow registration by anyone). However, on these portals, it might have serious implications for administrators checking the users list on the administration page. As such, we urge all admins or open portals to update their Chamilo 1.11.8 portals with the patch provided below (a one-liner easily applied by hand).

See https://packetstormsecurity.com/files/149711/chamilolms1118fn-xss.txt

While we thank the author ("Cakes") for reporting this issue, we disapprove of the immediate publication. Our politic is to provide a patch under 72h of being notified, as far as humanly possible. We received no notification before this went public. Contact details are available in the first section of this page. Also, while reporting it in "white hat" mode, "Cakes" also tested it on a live public portal, which is not really what we would expect where the report indicates it was tested on a different IP address. Despite these 2 latest detected vulnerabilities, we believe (based on security reports of competitors) Chamilo remains the safest LMS around.

Initially published by "Cakes".

Fix for 1.11.x

This security patch will be part of version 1.11.10 and versions 2.0 and up.

Issue '#28' - 2018-10-05 - Low risk - XSS in agenda

Chamilo LMS version 1.11.8 contains an XSS vulnerability in the agenda tool, allowing authenticated users to affect other users (sharing the same agenda events). This is considered "low risk" because, due to the nature of the feature it exploits, it is either necessary to be a teacher in a course or to be a student that was explicitly allowed by a teacher to edit agenda events. As such, the existence of the issue would only (in theory) affect open platforms or platforms with malicious (and security-skilled) teachers.

See details here: https://packetstormsecurity.com/files/149679/chamilolms1118-xss.txt

While we thank the author ("Cakes") for reporting this issue, we disapprove of the immediate publication. Our politic is to provide a patch under 72h of being notified, as far as humanly possible. We received no notification before this went public. Contact details are available in the first section of this page.

Initially reported by "Cakes".

Fix for 1.11.x

This security patch will be part of version 1.11.10 and versions 2.0 and up.

Issue '#27' - 2018-08-06 - Moderate risk - Unauthenticated remote code execution

Chamilo LMS version 1.11.x contains an unserialization vulnerability in a POST parameter that can result in Unauthenticated remote code execution. This attack is only exploitable by users with access to the course maintenance tool (teachers and admins), reason for which we reduced the risk to Moderate.

This affects versions 1.11 of Chamilo only.

Initially reported by e-mail by a contact self-called "shuimugan".

Fix for 1.11.x

This security patches will be made available as part of Chamilo 1.11.8 and superior.

Issue '#26' - 2018-07-23 - Critical risk - Unauthenticated remote code execution

Chamilo LMS version 11.x contains an Unserialization vulnerability in the "hash" GET parameter for the api endpoint located at /webservices/api/v2.php that can result in Unauthenticated remote code execution. This attack appear to be exploitable via a simple GET request to the api endpoint. This vulnerability appears to have been fixed in After commit 0de84700648f098c1fbf6b807dee28ec640efe62. CVE-2018-1999019 has been assigned to this issue.

This affects versions 1.11 of Chamilo only.

Initially reported by Indiana Moreau on https://github.com/chamilo/chamilo-lms/issues/2532

For 1.11.x

This security patches will be made available as part of Chamilo 1.11.8 and superior.

Issue '#25' - 2018-05-31 - Moderate risk - Data leak

A flaw in the logic of the "Who is online" page made it possible for unauthenticated users to get a list of names and pictures of the users currently online on the Chamilo portal. We consider it a moderate risk as it is available to the public but only through using specific URLs not directly visible to the public, and because it only makes names and pictures available (no other private information) and only for users connected now or in the past few minutes.

This affects versions 1.11 of Chamilo and possibly previous versions.

This was kindly mentioned by Jurjen de Jonge of HVA.nl on 23/5/2018 but only received by us (due to e-mail issues on our side) on the 31/5/2018. A fix was provided a few hours after finally receiving the report. The fix removes the information if the option "see connected users from the portal homepage" has been disabled. By default, this option is enabled in Chamilo, so for security reasons, we recommend admins to disable it when installing their portal.

For 1.11.x

No fix was provided for 1.10.x at this point as we consider this security issue a moderate risk.

This security patches will be made available as part of Chamilo 1.11.8 and superior.

Issue '#24' - 2018-04-09 - Low risk - Data leak

A flaw in the logic of the assignments tool in Chamilo made it possible for registered users to access the assignments provided by all other users in the same course.

This affects versions 1.11 of Chamilo (and probably previous versions), but you need a user account, to have access to a course and that the assignments tool be enabled in order to abuse this flaw. If all these conditions are combined, you could effectively download assignments from all other students even if you configured that assignments are not shared.

This was kindly reported by Jan Derriks of HVA.nl on the 9/4/2018. A fix for 1.11 was provided 40 minutes later.

For 1.11.x

No fix was provided for 1.10.x at this point as we consider this security issue a low risk.

These security patches will be made available as part of Chamilo 1.11.8 and superior.

Issue '#23' - 2017-02-09 - Moderate risk - PHP File Upload

A flaw in the elfinder extension to CKeditor in Chamilo was reported to us by Sandro "guly" Zaccarini.

This affects versions 1.10 and 1.11 of Chamilo, but you need a user account, that the social network be enabled and a special script to hack the upload method. This is why, although a PHP file upload issue would usually be marked as "High" or "Very high" risk, this has been lowered to "Moderate" risk.

We have made patches available to development versions of both 1.10 and 1.11:

For 1.10.x

For 1.11.x

These security patches will be made available as part of Chamilo 1.11.4.

Issue '#22' - 2016-12-26 - Moderate risk - PHPMailer shell escaping flaw

A flaw in the PHPMailer library, used in Chamilo LMS <=1.* was reported to us by Peter Bex of more-magic.net, and initially identified by Hanno Böck.

Fixes for different versions of Chamilo are provided below, matching our max 72h response time policy:

For 1.9.x

For 1.10.x

For 1.11.x

Issue '#21' - 2016-07-15 - Moderate risk - User Input Sanitation

A series of user input data were reported as unsanitized in 1.10.6. This was reported by Echelon team (npo-echelon.ru) and automatically detected by static code analyzer AppChecker. As far as we could check, these require course access and, as such, will not affect non-public courses. You either have to have an open-access platform or an open course inside your platform to be affected.

Fixes for these vulnerabilities can be found here: https://github.com/chamilo/chamilo-lms/commit/52ef413e2719be2da521beb83a476d91468ef5e7 We have added additional filtering as well, available here: https://github.com/chamilo/chamilo-lms/commit/2a47c02329fb8dee04a6b6425c9ee7601c6f32e2

These fixes have been included in Chamilo 1.10.8 and all future versions.

Issue '#20' - 2016-02-15 - Moderate risk - (messageId)

A rogue (not reported through official canals and include a public exploit) security issue was reported on 17/02/2016 by Lawrence Amer about being able to hijack another person's session through the handling of a crafted work in the assignments tool. This requires low-permissions access (student in a course) but could allow a student to hijack a teacher or admin's session. Fixes for different versions of Chamilo are provided below, matching our max 72h response time policy:

For 1.9.x

For 1.10.x

Issue '#19' - 2016-02-15 - Moderate risk - (messageId) Delete Post Vulnerability

A rogue (not reported through official canals and include a public procedure on how to exploit) security issue was reported on 15/02/2016 by Lawrence Amer about accessing other people's messages in the Chamilo social network, and giving the ability to delete the others' messages. Given the fact that messages are also sent by e-mail, we do not consider the deletion of other people's messages a high risk. However, accessing the messages themselves can be considered a high private information access vulnerability. Fixes for different versions of Chamilo are provided below, matching our max 72h response time policy:

For 1.9.x

For 1.10.x

Issue '#18' - 2015-05-02 - Low-Moderate risk - URL hijacking/spoofing

A URL spoofing vulnerability has been reported by Luis Eduardo Jácome V. in Chamilo LMS 1.9.10.2 and all previous versions, allowing malintentionned crackers to modify an URL like:

http://chamilo.org/main/link/link_goto.php?[...]&link_url=[original-redirect-url]
to
http://chamilo.org/main/link/link_goto.php?[...]&link_url=[malign-redirect-url]

Because the change is clearly visible in the URL, we don't consider this vulnerability to represent a high risk to the user, but we still consider this a valid vulnerability, which is why we have provided the following fix, that you can freely apply to your 1.9.* installation. These changes will effectively ignore the link_url parameter and only take into account the link_id which is stored in the database, making it impossible to hack through the same channel. Very complicated circumstances prevented us from publishing the fix on this page in a timely manner, but the commits were sent several days ago already.

Or, in more details:

diff --git a/main/inc/lib/link.lib.php b/main/inc/lib/link.lib.php
index 875f048..eb3b156 100755
--- a/main/inc/lib/link.lib.php
+++ b/main/inc/lib/link.lib.php
@@ -103,6 +103,28 @@ class Link extends Model

         return false;
     }
+    
+    /**
+    *
+    * Get link info
+    * @param int link id
+    * @return array link info
+    *
+    **/
+    public static function get_link_info($id)
+    {
+        $tbl_link = Database:: get_course_table(TABLE_LINK);
+        $course_id = api_get_course_int_id();
+        $sql = "SELECT * FROM " . $tbl_link . " 
+                WHERE c_id = $course_id AND id='" . intval($id) . "' ";
+        $result = Database::query($sql);
+        $data = array();
+        if (Database::num_rows($result)) {
+            $data = Database::fetch_array($result);
+        }
+        
+        return $data;
+    }
 }

 /**
diff --git a/main/link/link_goto.php b/main/link/link_goto.php
index 75163bb..101967f 100755
--- a/main/link/link_goto.php
+++ b/main/link/link_goto.php
@@ -21,16 +21,20 @@
 require_once '../inc/global.inc.php';
 $this_section = SECTION_COURSES;

-$link_url = html_entity_decode(Security::remove_XSS($_GET['link_url']));
-$link_id = intval($_GET['link_id']);
+require_once api_get_path(LIBRARY_PATH).'link.lib.php';

+$this_section = SECTION_COURSES;
+
+$linkId = intval($_GET['link_id']);
+
+$linkInfo = Link::get_link_info($linkId);
+$linkUrl = html_entity_decode(Security::remove_XSS($linkInfo['url']));
 // Launch event
-event_link($link_id);
+event_link($linkId);

 header("Cache-Control: no-store, no-cache, must-revalidate");   // HTTP/1.1
 header("Cache-Control: post-check=0, pre-check=0", false);
 header("Pragma: no-cache");                                     // HTTP/1.0
-header("Location: $link_url");
-
-// To be sure that the script stops running after the redirection
+header("Location: $linkUrl");
 exit;

The fix has already been applied in prevision of version 1.10.0 and future versions.

Issue '#17' - 2015-03-19 - Moderate risk - XSS & CSRF vulnerabilies

A series of XSS and CSRF vulnerabilities were reported on the 2/3/2015 by Rehan Ahmed. After careful consideration and a fruitful exchange, we released different patches (find them individually in the Chamilo changelog for 1.9.10.2) that cover these vulnerabilities.

In the official report, the author mentions the patch release to be 1.9.11. However, our bugfix releases policy enforces the use of the 1.9.10.2 number for this release. As of this writing, 1.9.11 does not (and will not) exist, it is a misnaming of 1.9.10.2.

This is considered a moderate risk because most of these require to be an authenticated user in order to exploit them. On privately-managed portals, this is usually not an issue, but on open campuses, it is.

Initial report: received by e-mail on 2/3/2015 Proper report: #7564 Fix: The fix is to upgrade to Chamilo LMS 1.9.10.2, released today. The changelog contains the individual commits required to fix the vulnerabilities manually. Affected versions: These vulnerabilities are likely to affect all previous versions of Chamilo LMS

If you are using any 1.9.x version of Chamilo, 1.9.10.2 is a minor version, so upgrading is only a matter of overwriting the current Chamilo code (removing the home/ directory in the new version package is recommended before you overwrite, in case you have a customized homepage).

If you require assistance applying those fixes, Chamilo Official Providers are trained to help you out in a professional manner.

Issue '#16' - 2015-01-25 - High risk - SQL injection vulnerability in several queries

A series of security issues have been reported on the 9/12/2014 by Kacper Szurek. Because these vulnerabilities potentially affected numerous parts of the code, we took some time to finish a complete review of Chamilo and decided to publish the fix as part of Chamilo LMS 1.9.10.

This is considered high-risk because we could not measure precisely the impact it might have had, but we urge all our users to upgrade to Chamilo LMS 1.9.10 as soon as possible to avoid any problematic incidence.

Initial report: received by e-mail on 9/12/2014 Proper report: #7440 Fix: The fix is to upgrade to Chamilo LMS 1.9.10, released today. A standalone patch cannot be easily provided because it is too likely to break other parts of the code. Affected versions: These vulnerabilities are likely to affect all previous versions of Chamilo LMS

If you are using any 1.9.x version of Chamilo, 1.9.10 is a minor version, so upgrading is only a matter of overwriting the current Chamilo code (removing the home/ directory in the new version package is recommended before you overwrite, in case you have a customized homepage). If you would like to apply a patch manually (and although we don't have a complete and secure patch at the moment), you can use the 3 main changes that were applied to fix it. This might not be an exhaustive list and, as always, Chamilo or BeezNest are not responsible for what might happen to your platform (see the GNU/GPLv3 license for details):

Issue '#15' - 2014-08-25 - Moderate-high risk - SQL injection in mySpace/users.php

A security issue has been reported by NeoSys on our forum, which allows a person with access to a course's users tool to pass a specially-crafted "status" parameter to get more results than expected, and potentially access (and modify) other parts of the database.

This is considered moderate-high because it is limited to users having access to it, but because it as possibly high impact.

Initial report: http://www.chamilo.org/phpBB3/viewtopic.php?f=15&t=5443&p=23969#p23969 Proper report: #7242 Fix: (very easy one-liner) https://github.com/chamilo/chamilo-lms/commit/8a75f654066e4ff74567e5b427230117667325d1 Affected versions: this doesn't seem to affect versions of Chamilo LMS previous to 1.9.8.0, as this code was introduced recently, but please make sure you check your own installation to avoid any uncomfortable situation. This patch will be included in release 1.9.8.3.

Issue '#14' - 2014-06-18 - Moderate risk - XSS vulnerability in online editor

A security issue has been published for FCKeditor very shortly after the release of Chamilo LMS 1.9.8. Considering we are including a vulnerable version of FCKeditor in our software, we cannot leave this issue unattended, and as such we are releasing Chamilo LMS 1.9.8.1, a patch version for 1.9.8, with just one file patched. See https://github.com/chamilo/chamilo-lms/commit/2b6686e620407ab8d4ceb8951de4ce978917fc93 for more details or if you want to apply the patch manually. This covers CVE-2014-4037.

Considering the relatively short period of time between the release of 1.9.8 and 1.9.8.1, we will still release 1.9.8.1 under the "commercial" name of 1.9.8, and will link all previous 1.9.8 links to the new 1.9.8.1 package. The changelog has been updated. Considering you will be updating to 1.9.8.1 anyway, you'll notice that we've added a few (around 5) minor (mostly visual) issues that we caught just after the release of 1.9.8. So you kill 2 birds with one stone.

As always, being a minor version, you can just overwrite your previous installation with the files from this new package.

Issue '#13' - 2014-05-06 - Moderate risk - XSS vulnerability in user profile fields

Javier Bloem, independent white hat hacker from Venezuela, reported multiple possible attack vectors in description fields of Chamilo. Although these attacks require at minimum an access as a registered user to the portal, they do represent a vulnerability for those portals that are accepting open registration. Patches have been commited to Github as commits:

Please update your portal(s) if you are in this case. The fix is available in Chamilo 1.9.8 starting from Beta 1.

Issue '#12' - 2014-03-05 - High risk - File injection through FCKEditor

Eric Marguin, from agence-codecouleurs.fr, reported an attack related to flaw #11, confirming it at the same time, whereby a skilled attacker injected a php file through an unprotected entry point in our implementation of FCKEditor.

Affected versions: 1.8., 1.9.

To fix, please update files:

main/inc/lib/fckeditor/editor/plugins/ImageManager/config.inc.php main/inc/lib/fckeditor/editor/plugins/MP3/fck_mp3.php

by adding the following line after the global.inc.php call.

api_block_anonymous_users();

Note that this issue, together with issue #11, are fixed from 1.9.8 onwards.

Issue '#11' - 2013-12-09 - High risk - File injection through FCKEditor - CONFIRMED

Stijn Michels, one of Chamilo LMS users, reportes in #6860, that he has been attacked through a likely flaw in one of FCKEditor's plugins used in Chamilo LMS, through the fact that it is not checking identification from the user before uploading a file. The attack could not be reproduced. However, we think that preventive correction is important, and we have worked together to publish a patch that can be applied to any 1.8 or 1.9 version of Chamilo.

Affected versions: 1.8., 1.9.

To fix, please update your main/inc/lib/fckeditor/editor/plugins/ajaxfilemanager/inc/config.php file adding the following on line 19:

api_block_anonymous_users();

and main/inc/lib/fckeditor/editor/filemanager/connectors/php/config.php to add

// Disabling access for anonymous users. api_block_anonymous_users();

Issue '#10' - 2013-11-06 - Moderate risk - SQL Injection in specific:

(unrecommended case to add the following on lines 33 and 34)

High-Tech Bridge reported an SQL-injection-type security flaw in version 1.9.6 of Chamilo LMS (which also affects previous versions). This flaw only affect Chamilo LMS platforms which use non-encrypted passwords mode (a mode that is available as a non-default option only during Chamilo LMS's installation process and is difficult to change afterwards). If non-encrypted mode is selected (voluntarily) and malicious users have access to the profile edition form (which requires an active registered user account on the platform), then this issue represents a very high risk for you! We believe and hope that most of our platform administrators have chosen the default recommended encrypted mode on their platform, but it is important to us to cover all risks. This is why we will be issuing a fix very shortly.

As a very quick fix, you can just open main/auth/profile.php, go to line 366 (function check_user_password()) and transform the following line:

$password = api_get_encrypted_password($password);

into this:

$password = Database::escape_string(api_get_encrypted_password($password));

This vulnerability has been assigned CVE-2013-6787.

See https://www.htbridge.com/advisory/HTB23182 for the original official report.

Issue '#9' - 2013-08-10 - Low risk - XSS in course title

Javier Bloem from Venezuela reported (through the Venezuela local group) one XSS flaw, involving the edition of a course title. This was fixed in commit https://github.com/chamilo/chamilo-lms/commit/3c770c201dbe1ce96480a3e51ff25d0b70c83514 (you can update a 1.9.* install just by using the file at https://raw.github.com/chamilo/chamilo-lms/3c770c201dbe1ce96480a3e51ff25d0b70c83514/main/course_info/infocours.php ). This flaw is considered "low risk" because it is an XSS (so stealing sessions is the kind of risk you get) and it is only accessible if you have the permission to create and edit courses, which you only get if you're a teacher. It is, however, duly considered as flaw, as the default Chamilo installation does allow anybody to create a new teacher user, so it does represent a security risk for all people NOT READING the many recommendations on disabling this possibility as soon as they enter production.

Download the main/course_info/infocours.php script and replace it in your 1.9 installation from here: https://raw.github.com/chamilo/chamilo-lms/3c770c201dbe1ce96480a3e51ff25d0b70c83514/main/course_info/infocours.php

Issue '#8' - 2013-03-04 - Moderate risk - Several moderate security flaws

Fernando Muñoz, via Secunia SVCRP., kindly reported 3 flaws through Secunia, affecting at least version 1.9.4 (and most probably all previous versions) of Chamilo LMS.

In order to ensure maximum responsivity of our Chamilo administrators around the world, we provide 2 fix mechanisms that we give here by order of increasing level of required skills. We should be publishing 1.9.6 soon, which will include this fix. The patches below are provided for version 1.9.4. You can find the details of the changes here: http://code.google.com/p/chamilo/source/detail?r=c9e8a27f8cde1f04dbe69d3f52a2e34c422bd679&name=1.9.x&repo=classic

Download and apply the files replacement provided here: http://support.chamilo.org/attachments/download/3997/chamilo-1.9.4-vuln-8.zip Put the file directly into the root directory of Chamilo and uncompress there.
Apply the patch provided here:
For 1.9.4 http://support.chamilo.org/attachments/download/3999/chamilo-1.9.4-vuln-8.patch
For 1.9.2 and 1.9.0 http://support.chamilo.org/attachments/download/4007/chamilo-1.9.2-vuln-8.patch
For 1.8.8.6 http://support.chamilo.org/attachments/download/4008/chamilo-1.8.8.6-vuln-8.patch
For 1.8.8.2 http://support.chamilo.org/attachments/download/4013/chamilo-1.8.8.2-vuln-8.patch
For 1.8.7.1 http://support.chamilo.org/attachments/download/4014/chamilo-1.8.7.1-vuln-8.patch

If you require special assistance, please contact [email protected] to hire an expert, or ask for help on the forum: http://www.chamilo.org/forum

Issue '#7' - 2012-07-16 - Moderate risk - Several moderate security flaws

Fernando Muñoz kindly reported a series of moderate security flaws in Chamilo 1.8.8.4 (most likely also affecting all previous versions), of two XSS risks and one unauthorized file deletion risk. This has been registered in private task #5202.

In order to ensure maximum responsivity of our Chamilo administrators around the world, we provide 3 fix mechanisms that we give here by order of increasing level of required skills:

Download and apply the files replacement provided here: http://support.chamilo.org/attachments/download/2864/patch-1.8.8.6.tgz Put the file directly into the root directory of Chamilo and uncompress there.
Download version 1.8.8.6 and follow the normal upgrade procedure: http://code.google.com/p/chamilo/downloads/detail?name=chamilo-1.8.8.6.tar.gz&can=2&q=
Apply the patch provided here: http://support.chamilo.org/attachments/download/2863/chamilo-1.8.8.4-to-1.8.8.6.patch

We considered the report was sufficiently serious for us to publish a new minor version of the software. Please apply using one of the three methods above AS SOON AS POSSIBLE.

Issue '#6" - 2011-06-15 - High risk - Several security flaws

Petr Skoda () recently reported a series of flaws in Chamilo 1.8.8.2, which have been duly reported here http://support.chamilo.org/issues/3600 and here http://support.chamilo.org/issues/3601 and fixed in prevision for a special corrective 1.8.8.4 release within a few days (probably on the 18th of June). This release will come together with a series of improvements to the code and no upgrade procedure needed. Patches are already available here:

Issue '#5' - 2011-01-31 - High risk - Filesystem traversal flaw

Fernando Muñoz kindly reported a major security flaw in the document system, by which a user could gain access to the database on lightly-hearted configured servers.

To fix it, please replace the changes found at
http://code.google.com/p/chamilo/source/browse/main/document/download.php?spec=svn.classic.3c071b2b6555552651a9617b1c92a9a983da875f&repo=classic&r=3c071b2b6555552651a9617b1c92a9a983da875f
and
http://code.google.com/p/chamilo/source/detail?r=f2254d813f3a44a0a1b1717876b3c81df72a6879&repo=classic

To discuss, please connect to http://support.chamilo.org/issues/2722

This flaw is being reported to our Twitter security account and to our mailing-list [email protected] The fix will be included in Chamilo 1.8.8, to be released within 14 days, but we recommend applying the patch to any production system straight away.

Issue '#4' - 2011-01-28 - High risk - Filesystem traversal flaw

Fernando Muñoz kindly reported a major security flaw in the gradebook system, by which a user could gain access to the database on lightly-hearted configured servers.

To fix it, please apply the changes found at http://code.google.com/p/chamilo/source/detail?r=b81c9c8012fa414d246a973aafddbde305c6f6f7&repo=classic
To discuss, please connect to http://support.chamilo.org/issues/2705

This flaw is being reported to our Twitter security account and to our mailing-list [email protected] The fix will be included in Chamilo 1.8.8, to be released within 14 days, but we recommend applying the patch to any production system straight away.

Issue '#3' - 2010-12-09 - Low risk - Wiki and core weaknesses in specific configurations

develop-it.be kindly scanned Chamilo 1.8.8 development version and found several minor issues, which we have fixed and included in 1.8.8 (to be released February 2011)

Issue '#2' - 2010-09-29 - High risk - Course directory removal risk through tasks tool

At around 11:55, Belgian time, on 29/09/2010, a new security issue has been reported by user mdube on the Chamilo forum.

Risk level: high
Versions affected: 1.8.6.2, 1.8.7, 1.8.7.1
Triggered by: teachers and administrators (no anonymous/student access)
Patch: [See patch](http://code.google.com/p/chamilo/source/detail?r=9cd63d72154d7c0ac0d7fb9858bc37e83c0ec44d&repo=classic)

This security issue's risk level is considered high (on a scale of critical, high, moderate and low) in the sense you require edition permissions in the course to provoke it (relatively safe) but it provokes highly painful damages: it deletes a course directory, entirely.

This bug affects versions 1.8.6.2, 1.8.7 and 1.8.7.1.

At 21:00, Belgian time (less than 12 hours later), Julio Montoya, on behalf of BeezNest, developed a patch that you can download as a file and apply to your Chamilo 1.8.7.1 portal. For previous versions of Chamilo, you will have to look at the patch and apply the differences manually. Suggestions are provided below:

[replacement work.php for 1.8.6.2](https://support.chamilo.org/attachments/download/1111/work.php.1862)
[replacement work.php for 1.8.7](https://support.chamilo.org/attachments/download/1112/work.php.187)

The problem can be reproduced by trying to delete an un-existing student work from a course. The delete URL can be crafted manually, but it can also be triggered by a double click on the delete icon for a student work. This means that if you have teachers accidentally double-clicking on the delete icon, they can delete the entire course directory. The only solution then is to restore the course directory quickly from your daily backup.

This bug was introduced in November of 2009, while still working on Dok€os, by a then member of the BeezNest team trying to fix a complex issue by using the permanently_remove_deleted_files parameter to decide whether to delete the files permanently or to leave them on disk. This flaw could apply to Dok€os 2.0 (cannot be checked until the code is made available). The developer doesn't work with us anymore, and we have considerably improved the review process, but this specific kind of bug implies a peer review process, and this can only come with regular investment.

Using the services of an official Chamilo provider guarantees your contributions go to Chamilo and help many other organizations and people around the world, just as you benefit from contributions from many others. Contribute to the Chamilo project using our official providers services and encourage our healthy and socially responsible economical model!

Best regards,

Yannick Warnier IT Manager for Chamilo

Issue '#1' - 2010-08-02 - Wiki issues

Fixed in 1.8.7.1 package.

Clone this wiki locally