Document Title: =============== Olat CMS 7.8.0.1 - Persistent Calender Web Vulnerability References (Source): ==================== http://www.vulnerability-lab.com/get_content.php?id=1125 Release Date: ============= 2013-10-27 Vulnerability Laboratory ID (VL-ID): ==================================== 1125 Common Vulnerability Scoring System: ==================================== 4.1 Product & Service Introduction: =============================== OLAT is an open source Learning Management System offering a flexible online course system along with extensive features to guarantee learning and teaching independent of time and place. It has been created especially for public institutions such as universities, academies or colleges, however, it is also suitable for other businesses since OLAT can easily represent any didactic concept or be used in any kind of learning environment. (Copy of the Vendor Homepage: http://www.olat.org/ ) Abstract Advisory Information: ============================== The Vulnerability Laboratory Research Team discovered a persistent input validation web vulnerability in the Olat v7.8.0.1 CMS. Vulnerability Disclosure Timeline: ================================== 2013-10-27: Public Disclosure (Vulnerability Laboratory) Discovery Status: ================= Published Affected Product(s): ==================== Olat Product: Content Management System 7.8.0.1 (b20130821 N1) Exploitation Technique: ======================= Remote Severity Level: =============== Medium Technical Details & Description: ================================ A persistent input validation web vulnerability is detected in the Olat Content Management System v7.8.0.1 (b20130821-N1) web-application. The web vulnerability allows remote attackers to implement/inject own malicious script codes on application side of the online-service. The persistent web vulnerability is located in the `Calender` module. Remote attackers are able inject malicious script codes via POST method request in the event name (o2cl) parameters of the calender service. The script code executes in the main calender index. Attacker can also share the calender event by using the public function to stream the code to all other users and administrators. Exploitation of the persistent web vulnerability requires low user interaction and a low privileged web-application user account. Successful exploitation of the vulnerability can lead to persistent session hijacking (customers), account steal via persistent web attacks, persistent phishing or persistent module context manipulation. Request Method(s): [+] [POST] Vulnerable Module(s): [+] Calender Vulnerable Parameter(s): [+] event name (o2cl) Affected Module(s): [+] Calender Index - Event [+] Home Index - Events Proof of Concept (PoC): ======================= The persistent input validation web vulnerability can be exploited by remote attackers with low privileged application user account and only indirect user interaction (page visit). For demonstration or reproduce ... Manual steps to reproduce ... 1. Install the CMS and login with your low privileged application user account 2. Open the calender, switch to event and add a new one 3. Inject your own malicious test script code to the event name & date input fields 4. Click the public event button and save the input to reload the edit site 5. The malicious test context executes in the index module of the calender 6. Click the home button and switch on the right site to the calender events 7. The malicious test code will be visible to all users in the same group or to the administrators 8. Successful reproduced ...! PoC: Event Calender Index