WordPress Scoutnet Kalender plugin version 1.1.0 suffers from a cross site scripting vulnerability.
dc1aa291b8bb0d98f7ee64b5239ae8996dfeff75588abfd2a7215d862ff5bbde
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Advisory ID: SYSS-2019-045
Product: "Scoutnet Kalender" for WordPress
Manufacturer: Scoutnet and Björn Stromberg
Affected Version(s): 1.1.0
Tested Version(s): 1.1.0
Vulnerability Type: Cross-Site Scripting (CWE-79)
Risk Level: Medium
Solution Status: Open
Manufacturer Notification: 2019-10-23
Solution Date: -
Public Disclosure: 2019-12-09
CVE Reference: CVE-2019-19198
Author of Advisory: Simon Moser, SySS GmbH
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Overview:
"Scoutnet Kalender" is a plug-in for WordPress to display one oder many
Scoutnet calendars as a widget, on a page or an article.
Due to a missing input sanitation, it is vulnerable to cross-site scripting.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vulnerability Details:
The plug-in allows to include calendars from Scoutnet into WordPress websites.
Calendars are not only included by websites administrated by the same person
as the calendar but also by other sites. When events from a calendar are
included, the data is not being sanitized. This allows an attacker with control
over an embedded calendar to inject scripts into the attacked site.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Proof of Concept (PoC):
1. Create an event with the following value of the "Info" field:
<script>alert("Cross-Site Scripting");</script>
2. Save the event
3. Visit the page where the calendar is embedded
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Solution:
As long as the default template is not changed by the manufacturer, SySS GmbH
recommends to change the provided template to sanitize fields controlled by
other users. If this is not possible because interactive content needs to be
included, the set of users with permissions to create and change events should
be as small as possible.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Disclosure Timeline:
2019-10-20: Vulnerability discovered
2019-10-23: Vulnerability reported to manufacturer
2019-11-12: Discussion with the manufacturer about security by design
2019-12-09: Public disclosure of vulnerability
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
References:
[1] Product website for "Scoutnet Kalender"
https://de.wordpress.org/plugins/scoutnet-kalender/
[2] SySS Security Advisory SYSS-2019-045
https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2019-045.txt
[3] SySS Responsible Disclosure Policy
https://www.syss.de/en/news/responsible-disclosure-policy/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Credits:
This security vulnerability was found by Simon Moser of SySS
GmbH.
E-Mail: simon.moser@syss.de
Public Key: https://www.syss.de/fileadmin/dokumente/PGPKeys/Simon_Moser.asc
Key ID: 0x5FF2CFC6
Key Fingerprint: E3C2 A86E 530D 8BD3 C40B 6542 8376 5B89 5FF2 CFC6
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Disclaimer:
The information provided in this security advisory is provided "as is"
and without warranty of any kind. Details of this security advisory may
be updated in order to provide as accurate information as possible. The
latest version of this security advisory is available on the SySS Web
site.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Copyright:
Creative Commons - Attribution (by) - Version 3.0
URL: http://creativecommons.org/licenses/by/3.0/deed.en
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEE48KoblMNi9PEC2VCg3ZbiV/yz8YFAl3uaEsACgkQg3ZbiV/y
z8ZXmwf/fB1xUfu/2CbUGnq08H6QC2zYdh+ZVCM3EY2WkIQSfw1S2So1iRivnL2a
ZBx7oH1gM/4ynL+1H9JDvwYoePLDpSDK6wPdtxqMtllJsJkE6lgBWe8eHsLKs1QY
IZbyurXNJoZVZjULnZgP+3z3d/tCeua7PWTu/txvslQkWKj7OKtOEb1nK9FkJlax
Xej8eWRcikhl+JV3HLLSG23woLP852eh5mWYUu73ex5YU4J3a111GJOW2b6QImzn
f9LYvP/hsyXClr1B3bK51JUcUZzkz1motozB2gHwBJoi80WWR/zKTnvoMnYcXgDs
DKuo4rnpCRxaPqJPUke8snVqMHSTqQ==
=LPsA
-----END PGP SIGNATURE-----