[<prev] [next>] [day] [month] [year] [list]
Message-ID: <48e5e030-ba98-d08b-bc46-4ce1fe44ba1c@meis.space>
Date: Sun, 7 Jun 2020 02:34:26 +0200
From: Robin Meis via Fulldisclosure <fulldisclosure@...lists.org>
To: fulldisclosure@...lists.org, Untis GmbH <datenschutz@...is.at>,
OTRS Helpdesk <helpdesk@...is.at>, office@...is.at
Cc: robin@...s.space
Subject: [FD] WebUntis: Stored XSS (Filter Bypass)
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@...s.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
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/
Powered by blists - more mailing lists