Share
## https://sploitus.com/exploit?id=PACKETSTORM:157998
I. VULNERABILITY  
-------------------------  
WebUntis 2020.12.1 - (Authenticated) Cross Site Scripting  
  
II. BACKGROUND  
-------------------------  
WebUntis is a tool for schools and universities to deliver electronic timetables to their students. Depending from the activated modules it does also contain sensitive information within the integrated class-register and grade-book. Furthermore it supports private messaging.   
  
III. DESCRIPTION  
-------------------------  
The private messaging component contains a persistent XSS vulnerability within the message body which allows the execution of arbitrary JavaScript in the context of the victim user's browser.  
  
IV. History  
-------------------------  
The issue has been reported back in December 2019 to Untis GmbH. Against my advisories the vendor tried to fix the issue by implementing a Cross-Site-Scripting filter. Public (full) disclosure was on 22.03.2020. It turned out that the filter is not sufficient and can be easily bypassed.  
  
V. PROOF OF CONCEPT  
-------------------------  
Send a new private message to any user within WebUntis containing the following message body:  
  
<img src="test.jpg" / onerror="alert('XSS')">  
  
Reading the message either on senders or on recipients account will cause the script to execute.  
  
VI. BUSINESS IMPACT  
-------------------------  
The attacker is able to execute any JavaScript in the logged in users context. PoCs to manipulate grades and to steal API/OTP Tokens for full access using the mobile app exist.  
  
VII. SYSTEMS AFFECTED  
-------------------------  
WebUntis <= 2020.12.1 (currently unfixed)  
  
VIII. SOLUTION  
-------------------------  
Avoid using private messages.  
  
IX. REFERENCES  
-------------------------  
https://robin.meis.space/ (German articles)  
  
X. CREDITS  
-------------------------  
This vulnerability has been discovered and reported by Robin Meis (disclosure@meis.space)  
  
XI. DISCLOSURE TIMELINE  
-------------------------  
11.12.2019 - Report of CSRF and XSS vulnerabilities to Untis GmbH  
02.01.2020 - First Response (restored Mail from spam folder)  
27.01.2020 - Offer of Bug-Bounty against NDA  
meanwhile - Implementation and tests of a XSS filter by vendor  
- Advised vendor to do proper HTML encoding  
- Report of further XSS vulnerabilities  
11.03.2020 - Limited Disclosure, one XSS vulnerability remains unfixed  
12.03.2020 - Remaining issue fixed  
22.03.2020 - Full Disclosure  
07.06.2020 - PoC for filter bypass, Full Disclosure