X2Engine 4.1.7 PHP Object Injection

Related Vulnerabilities: CVE-2014-5297  
Publish Date: 23 Sep 2014
Author: EgiX
                							

                -------------------------------------------------------------------------
X2Engine <= 4.1.7 (SiteController.php) PHP Object Injection Vulnerability
-------------------------------------------------------------------------


[-] Software Link:

http://www.x2engine.com/


[-] Affected Versions:

All versions from 2.8 to 4.1.7.


[-] Vulnerability Description:

The vulnerable code is located in the "actionSendErrorReport" method defined in /protected/controllers/SiteController.php:

153.      public function actionSendErrorReport(){
154.          if(isset($_POST['report'])){
155.              $errorReport = $_POST['report'];
156.              $errorReport = unserialize(base64_decode($errorReport));
157.              if(isset($_POST['email'])){
158.                  $errorReport['email'] = $_POST['email'];
159.              }

User input passed through the "report" POST parameter is not properly sanitized before being used in a call to the "unserialize()"
function at line 156. This can be exploited to inject arbitrary PHP objects into the application scope, and could allow an
attacker to carry out Server-Side Request Forgery (SSRF) and possibly other attacks via specially crafted serialized objects.


[-] Solution:

Apply the vendor patch or update to version 4.2 or later.


[-] Disclosure Timeline:

[31/07/2014] - Vendor notified
[31/07/2014] - Vendor released security patch: http://x2community.com/?showtopic=1804
[01/08/2014] - CVE number requested
[16/08/2014] - CVE number assigned
[05/09/2014] - Version 4.2 released
[23/09/2014] - Public disclosure


[-] CVE Reference:

The Common Vulnerabilities and Exposures project (cve.mitre.org)
has assigned the name CVE-2014-5297 to this vulnerability.


[-] Credits:

Vulnerability discovered by Egidio Romano.


[-] Original Advisory:

http://karmainsecurity.com/KIS-2014-09


<p>