Advisory: Multiple persistent XSS vulnerabilites in CMS BEdita v. 3.4.0
Advisory ID: SROEADV-2014-10
Author: Steffen Rsemann
Affected Software: CMS BEdita v. 3.4.0 (Release-Date: 9th-May-2014)
Vendor URL: http://www.bedita.com
Vendor Status: working on a patch
CVE-ID: -
==========================
Vulnerability Description:
==========================
The CMS BEdita v. 3.4.0 (Release: 9th-May-2014) suffers multiple persistent
XSS vulnerabilities in its administrative backend.
==================
Technical Details:
==================
Registered users, who are allowed to use the administrative backend (as
translator or editor for example) are able to use arbitrary HTML and/or
JavaScript-code which gets stored in the database backend without being
sanitized. This has an effect on other registered users on the
administrative backend, as the code is executed when visiting the sites
prepared by an attacker.
The vulnerabilities are found in the following URLs on a normal BEdita
installation:
http://{TARGET}/index.php/home/profile (in form with id ?editProfile? via
input field with id ?lrealname")
http://{TARGET}/index.php/ (inform with id ?addQuickItem? via input field
with name "data[title]" and name "data[description]")
http://{TARGET}/index.php/areas (in form with id ?saveNote? via input field
with id ?note text")
http://{TARGET}/index.php/documents/view (in form with id ?updateForm? via
input field with id ?titleBEObject? and input field with id ?tagsArea?)
If you, for example, write a simple <script>alert(document.cookie)</script>
in the above mentioned input fields and save it, it will get executed, when
visiting the prepared site. That can be a security issue, if for example a
translator-user with not as much administrative rights as the administrator
is abusing the vulnerabilities and tricks the administrator to visit the
sites.
I found out, that injecting code in the input field with id ?tagsArea? gets
as well executed on the frontend, when guest users are visiting the page.
=========
Solution:
=========
Vendor opened issue on Github. Currently working on a patch. Technical
information disclosed by vendor.
====================
Disclosure Timeline:
====================
31-Dec-2014 ? found the vulnerability
31-Dec-2014 - informed the developers
31-Dec-2014 ? release date of this security advisory [without technical
details]
08-Jan-2015 - response from vendor (confirmation as issue on Github)
08-Jan-2015 - release date of this security advisory
08-Jan-2015 - send to lists
========
Credits:
========
Vulnerability found and advisory written by Steffen Rsemann.
===========
References:
===========
[1] http://www.bedita.com
[2] http://sroesemann.blogspot.de/2014/12/sroeadv-2014-10.html
[3] https://github.com/bedita/bedita/issues/566