Secure Network - Security Research Advisory Vuln name: Philips VOIP841 Multiple Vulnerabilities Systems affected: Philips VOIP841, Firmware Version 1.0.4.50 and 1.0.4.80, Web Server Version 1.5 (simple httpd) Systems not affected: n/a Severity: High Local/Remote: Remote Vendor URL: http://www.consumer.philips.com/consumer Author(s): Luca "ikki" Carettoni - luca.carettoni@securenetwork.it Vendor disclosure: 23rd January 2008 Vendor acknowledged: - Vendor patch release: - Public disclosure: 14th February 2008 Advisory number: SN-2008-01 Advisory URL: http://www.securenetwork.it/advisories/, http://www.ikkisoft.com *** SUMMARY *** VOIP841 is one of the first DECT cordless phones with an embedded Skype client. Without a computer, it is possible to call directly other Skype users or international numbers using SkypeOut as well as the regular PSTN line. It is important to notice that it is Skype Certified and presented as a best seller on the "Skype Shop" online. Multiple vulnerabilities have been found in the latest version of this VOIP phone, ranging from an hidden administration account to XSS and directory traversal. Various consequences are associated with these issues, such as theft of Skype authentication credentials stored in the phone and information disclosure. In order to exploit some vulnerabilities, a regular user should be authenticated. However, using the hidden administration account it is possible to easily bypass this security mechanism. *** VULNERABILITY DETAILS *** (a) Hidden Administration Account The device provides a comfortable web management console, protected with a basic HTML Authentication. The default account is set to "Philips:voip841". We discovered an hidden administration account which is probably used during technical remote assistance. In the file "/var/cnxt/service", there is the BASE64 string "c2VydmljZTpzZXJ2aWNl" which represents the account "service:service". Using these credentials it is possible to login into the web administration console with admin privileges. The previous user enables also a "secret" tab called [Change MAC Address] where it is possible (as the name implies) to change the hardware address of the network interface. (b) Directory Listing, Directory Traversal The embedded webserver doesn't sanitize any kind of user input. The directory listing option is also enabled. Using the previous account it is possible to browse every directory on the device and to retrieve the content of any file with a simple HTTP request. Let's see a self explaining example: jungle ikki $ telnet 192.168.1.10 80 Trying 192.168.1.10... Connected to 192.168.1.10. Escape character is '^]'. GET /../../../../../../../../etc/passwd HTTP/1.0 Host: 192.168.1.10 Authorization: Basic c2VydmljZTpzZXJ2aWNl HTTP/1.0 200 OK Content-type: text/plain Expires: Sat, 24 May 1980.7:00:00.GMT Pragma: no-cache Server: simple httpd 1.0 root:x:0:0:root:/root:/bin/bash demo:x:5000:100:Demo User:/home/demo:/bin/bash nobody:x:65534:65534:Nobody:/htdocs:/bin/bash Connection closed by foreign host. (c) Cross Site Scripting (XSS) Due to the absence of input filters it is possible to inject scripting code inside the 404 standard response page. In this way it is possible to trigger XSS attacks with a simple HTTP request like the following: GET /var/htdocs/ HTTP/1.0 Host: 192.168.1.10