Advisory: Multiple persistent XSS vulnerabilites in CMS BEdita v. 3.4.0 Advisory ID: SROEADV-2014-10 Author: Steffen Rösemann 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 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 Rösemann. =========== 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