Chamlio LMS v1.10.2 - (Profile) Persistent Web Vulnerability

From: Vulnerability Lab <>
Subject: Chamlio LMS v1.10.2 - (Profile) Persistent Web Vulnerability

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]\u201e


Copyright © 1995-2018 All rights reserved.