Document Title: =============== Barracuda Networks Web Security Flex Appliance Application v4.x - Filter Bypass & Persistent Vulnerabilities (BNSEC 707)
References (Source): ==================== http://www.vulnerability-lab.com/get_content.php?id=749 Barracuda Networks Security ID (BNSEC): 707 Video: http://www.vulnerability-lab.com/get_content.php?id=1205 View Video: http://www.youtube.com/watch?v=1D9PS4bW8VM Release Date: ============= 2014-08-20 Vulnerability Laboratory ID (VL-ID): ==================================== 749 Common Vulnerability Scoring System: ==================================== 3.8 Product & Service Introduction: =============================== The Barracuda Web Security Service is a cloud-based web filtering service ideal for organizations with users in multiple locations. With no hardware to install, this powerful SaaS web filter quickly and affordably lets administrators safeguard users against aggressive malware while centrally managing user access to web content, applications, media, file types and more. It even extends content security and management to off-network mobile devices – perfect for schools that issue iPads to students, or any organization that relies on mobility. As an enterprise-grade solution for web security, Barracuda Web Security Service saves administrators time otherwise spent disinfecting computers and dealing with data breaches. Barracuda Web Security Service’s intuitive web UI gives clear visibility into web activity which speeds network troubleshooting and policy management. Interactive graphs let administrators drill down from high-level overviews of the organization’s web activity to fine-grained information about users, websites, applications, files, bandwidth and other factors effecting performance and user productivity. Reporting is just as convenient and granular with no database administration required. Built on a massively scalable worldwide multi-tenant architecture that provides advanced web filtering to customers in fifty countries, Barracuda Web Security Service delivers the fastest, most reliable web filtering in the industry. (Copy of the Vendor Homepage: https://www.barracudanetworks.com/products/websecurityflex ) Abstract Advisory Information: ============================== The Vulnerability Laboratory Research Team discovered multiple web vulnerabilities in the official Barracuda Networks Security Flex v4.1 Appliance Web-Application. Vulnerability Disclosure Timeline: ================================== 2013-11-09: Researcher Notification & Coordination (Benjamin Kunz Mejri) 2013-11-10: Vendor Notification (Barracuda Networks - Bug Bounty Team) 2013-11-13: Vendor Response/Feedback (Barracuda Networks - Bug Bounty Team) 2014-08-10: Vendor Fix/Patch Notification (Barracuda Networks - Developer Team) 2014-08-20: Public Disclosure (Vulnerability Laboratory) Discovery Status: ================= Published Affected Product(s): ==================== Barracuda Networks Product: Web Security Flex 4.1 Exploitation Technique: ======================= Remote Severity Level: =============== Medium Technical Details & Description: ================================ Multiple persistent input validation vulnerabilities are detected in the official Barracuda Networks Security Flex v4.1 Application Service. The bugs allow remote attackers to implement/inject malicious script code on the application side (persistent) of the vulnerable module. The persistent vulnerabilities are located in the bypass_password and shared_secret parameters of the `Remote Filtering > Safe Browser > Provisioning` module. The attacker is able to bypass the `shared password/secret` input field validation to manipulate the input field context. The script code execution occurs after the attacker clicked the `shared secret` information show/hide button in the `Provisioning` service module. The attack method is located on the application-side of the service and the request method to inject the payload is POST. To bypass the input field validation and execute the earlier injected string via POST, it is required to split (%20) the payload. During the pentests we revealed that script code executions (html,js & php) are possible. The input of the validation is broken and through the reverse function `hide/show` it is possible to manipulate the application context or capture the input. The security risk of the persistent vulnerabilities are estimated as medium with a cvss (common vulnerability scoring system) count of 3.8. Exploitation requires low user inter action and a registered low privileged web application user account. Successful exploitation of the vulnerability results in session hijacking (manager/admin), persistent phishing, persistent external redirects or persistent manipulation of affected or connected module context. Request Method(s): [+] POST Vulnerable Service(s): [+] Web Security Flex Vulnerable Module(s): [+] Remote Filtering > Safe Browser > Provisioning Vulnerable Function(s): [+] hide input [+] show input (reverse) Vulnerable Parameter(s): [+] bypass_password [+] shared_secret Affected Module(s): [+] Provisioning Proof of Concept (PoC): ======================= The persistent web vulnerabilities can be exploited by remote attackers and local low privileged user accounts with low or medium user interaction. For security demonstration or to reproduce the security vulnerability follow the provided information and steps below to continue. PoC: String (Bypass %20) %20<iframe%20src=a>%20%20%20%20\"><iframe src=a onload=alert(\"VL\") < PoC: (Context Show & Hide Function) [bypass_password & shared_secret] <div class=\"field\"> <label class=\"label\" for=\"bypass_password\">Bypass Password:</label> <input name=\"bypass_password\" id=\"bypass_password\" value=\"northhigh\" type=\"password\">​​​​​ <small onclick=\"$(\'#bypass_password_ct\').show().find(\'strong\').html($(\'#bypass_password\').val())\" class=\"link2\">show</small> <span class=\"info\" id=\"bypass_password_ct\" style=\"\"> <br> Password: \" <strong>\%20"><[PERSISTENT INJECTED SCRIPT CODE!]\%20"><[PERSISTENT INJECTED SCRIPT CODE!]\") <\%20"><[PERSISTENT INJECTED SCRIPT CODE!]\") <\%20"><[PERSISTENT INJECTED SCRIPT CODE!]\") <\") <northhigh</iframe>​​​​​</strong>\" — <span class=\"link2\" onclick=\"$(this.parentNode).hide()\">hide</span></span> </div> --- POC Session Logs (MANIPULATED TO BYPASS) [POST] --- auth_scheme=none session_timeout=0 idle_timeout=0 shared_secret=%20%3C[PERSISTENT INJECTED SCRIPT CODE!]%3Da%3E%2520%2520 bypass_password=%20%3C[PERSISTENT INJECTED SCRIPT CODE!]%3Da%3E%2520%2520%2520%2520%22%3E%3C[PERSISTENT INJECTED SCRIPT CODE!]%3Da+onload%3Dalert(%22VL%22)+%3C bypass_filter=192.168.*%3B10.10.*%3B172.16.* fail_open=1 enable_geolocation=1 allow_temp_disable=1 allow_stop=1= is_ajax=1 ajax_response_format=json Reference(s): https://wsf.127.0.0.1:1338/r/mobile Solution - Fix & Patch: ======================= The issue can be fixed by a secure parse and encode of the vulnerable parameter in the Provisioning module. Restrict and filter the vulnerable `bypass_password` and `shared_secret` values to prevent further exploitation by script code injection attacks. Security Risk: ============== The security risk of the persistent web vulnerabilities are estimated as medium. Credits & Authors: ================== Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (b...@evolution-sec.com) [www.vulnerability-lab.com] Disclaimer & Information: ========================= 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: ad...@vulnerability-lab.com - resea...@vulnerability-lab.com - ad...@evolution-sec.com Section: dev.vulnerability-db.com - 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 Programs: vulnerability-lab.com/submit.php - vulnerability-lab.com/list-of-bug-bounty-programs.php - vulnerability-lab.com/register/ 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 (ad...@vulnerability-lab.com or resea...@vulnerability-lab.com) to get a permission. Copyright © 2014 | Vulnerability Laboratory [Evolution Security] -- VULNERABILITY LABORATORY RESEARCH TEAM DOMAIN: www.vulnerability-lab.com CONTACT: resea...@vulnerability-lab.com