Barracuda Application Validation Filter Bypass

2012-08-01T00:00:00
ID PACKETSTORM:115165
Type packetstorm
Reporter Benjamin Kunz Mejri
Modified 2012-08-01T00:00:00

Description

                                        
                                            `Title:  
======  
Barracuda Appliances - Validation Filter Bypass Vulnerability  
  
  
Date:  
=====  
2012-07-16  
  
  
References:  
===========  
http://www.vulnerability-lab.com/get_content.php?id=661  
  
  
VL-ID:  
=====  
661  
  
  
Common Vulnerability Scoring System:  
====================================  
5.5  
  
  
Abstract:  
=========  
The Vulnerability Laboratory Research Team discovered a input validation filter bypass vulnerability in Barracudas Network appliance products.  
  
  
Report-Timeline:  
================  
2012-06-09: Researcher Notification & Coordination  
2012-06-10: Vendor Notification  
2012-07-12: Vendor Response/Feedback  
2012-07-14: Vendor Fix/Patch  
2012-07-16: Public Disclosure  
  
  
Status:  
========  
Published  
  
  
Exploitation-Technique:  
=======================  
Remote  
  
  
Severity:  
=========  
High  
  
  
Details:  
========  
A filter bypass vulnerability is detected in the Barracuda Networks Appliances Applications. Remote attackers   
with privileged user accounts bypass the application internal filter & exception-handling. Successful exploitation   
of the vulnerability result in dbms (Server) or application (Web) compromise. Exploitation requires low or medium   
user inter action & with privileged user account.  
  
The input filter blocks persistent input attacks with a restriction/filter exception for double quotes, <>,frames,   
scripts & statements. The vulnerability allows to bypass the existing input validation filter & exception handling.  
  
The bug is located when processing to save the url path name (db stored) with attached file. The vulnerability   
allows to bypass the path url name parse restriction which leads to the execution on a secound vulnerable bound   
module which displays the input as output listing. The Account MyResource Display (example listing + input) & Upload   
File modules are executing the earlier saved `save` path of url-path/folder which leads to the bypass of the input   
validation filter & exception-handling. The result is the persistent execution of malicious script codes out of the   
security appliance application context.   
  
The vulnerability allows to bypass this method with this tricky way ...  
  
The url path function save the context of the input path name(parsed) as client side request (GET) via URL. If the   
request is getting bound with the file (POST), which is getting stored (persistent) displayed later on the overview   
listings, the code will be unauthorized executed out of the security application context(persistent|server-side).  
  
  
Vulnerable Module(s):  
[+] MyResource, File System & File Upload Output/Input - Input Validation Filter Restriction & Listing  
  
NOTE: The vulnerability is also located on different other security appliances on all resource listings or file uploads with url path save.  
  
  
Proof of Concept:  
=================  
The vulnerability can be exploited by local low privileged user accounts & with medium or high required user inter action.  
For demonstration or reproduce ...  
  
Manually ...  
  
1. Login into for example the SSL VPN appliance  
2. Switch over to the MyResources File System  
3. Open via Tamper the following url ... fileSystem.do?ActionTarget=list&path=smb/random folder/  
4. Now save the path and switch to new folder  
5. The setting of the path has been implemented automatic. Change the Path to your scriptcode after it has been parsed.  
6. Now switch after the save to the uplaod files function. Upload any random file which is bound to the malicious title.  
7. Save the file and the code is getting executed in the main index of the preview in myresources.  
  
<a href="?launchId=l7e68d5&startRow=0&  
path=smb%2F%22%3E%3C[PERSISTENT SCRIPT CODE EXECUTION!]+%3C&pageSize=25&sortReverse=  
false&sortName=fileSystem.size&  
amp;amp;actionTarget=list" class="columnHeader">Size</a>  
</td>  
  
... or  
  
<span><a href="fileSystem.do?actionTarget=list&launchId=l7e68d5&path=smb/Sales%20Folder">Sales Folder  
</a> / <a href="fileSystem.do?actionTarget=list&launchId=l7e68d5&path=smb/Sales%20Folder/Testing%20from%20Tri%20Opt">  
Testing from Tri Opt</a> /​​​​​ <a href="fileSystem.do?actionTarget=list&  
launchId=l7e68d5&path=smb/Sales%20Folder/  
Testing%20from%20Tri%20Opt/%22%3E%3C[PERSISTENT SCRIPT CODE INJECT VIA PATH%22%29%20%3C">  
"​​​​​><[PERSISTENT SCRIPT CODE EXECUTION!]' <<="" a=""> / </span></div>  
  
  
Reference(s):  
../video-poc.wmv  
  
  
Solution:  
=========  
The vulnerability can be fixed by parsing the secound input request of the file upload function next to the display of the myresource listing.   
To fix the issue completly it is also required to parse the path url request which allows to include but not execute the context.  
  
2012-07-14: Vendor Fix/Patch by Barracuda Networks  
  
  
Risk:  
=====  
The security risk of the input validation filter bypass vulnerability is estimated as high(-).  
  
  
Credits:  
========  
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (bkm@vulnerability-lab.com)  
  
  
Disclaimer:  
===========  
The information provided in this advisory is provided as it is without any warranty. Vulnerability-Lab disclaims all warranties,   
either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-  
Lab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business   
profits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some   
states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation   
may not apply. We do not approve or encourage anybody to break any vendor licenses, policies, deface websites, hack into databases   
or trade with fraud/stolen material.  
  
Domains: www.vulnerability-lab.com - www.vuln-lab.com - www.vulnerability-lab.com/register  
Contact: admin@vulnerability-lab.com - support@vulnerability-lab.com - research@vulnerability-lab.com  
Section: video.vulnerability-lab.com - forum.vulnerability-lab.com - news.vulnerability-lab.com  
Social: twitter.com/#!/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab  
Feeds: vulnerability-lab.com/rss/rss.php - vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php  
  
Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory.   
Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other   
media, are reserved by Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, sourcecode, videos and   
other information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, list (feed),   
modify, use or edit our material contact (admin@vulnerability-lab.com or support@vulnerability-lab.com) to get a permission.  
  
Copyright © 2012 | Vulnerability Laboratory  
  
  
  
--   
VULNERABILITY RESEARCH LABORATORY  
LABORATORY RESEARCH TEAM  
CONTACT: research@vulnerability-lab.com  
  
`