Unauthenticated remote access to D-Link DIR-645 devices

Type securityvulns
Reporter Securityvulns
Modified 2013-03-02T00:00:00


Unauthenticated remote access to D-Link DIR-645 devices

[ADVISORY INFORMATION] Title: Unauthenticated remote access to D-Link DIR-645 devices Discovery date: 20/02/2013 Release date: 27/02/2013 Credits: Roberto Paleari (roberto@greyhats.it, twitter: @rpaleari)

[VULNERABILITY INFORMATION] Class: Authentication bypass

[AFFECTED PRODUCTS] This security vulnerability affects the following products and firmware versions: * D-Link DIR-645, firmware version < 1.03 Other products and firmware versions could also be vulnerable, but they were not checked.

[VULNERABILITY DETAILS] The web interface of D-Link DIR-645 routers expose several pages accessible with no authentication. These pages can be abused to access sensitive information concerning the device configuration, including the clear-text password for the administrative user. In other words, by exploiting this vulnerability unauthenticated remote attackers can retrieve the administrator password and then access the device with full privileges.

More in detail, the following HTTP request fetches the administrator password: curl -d SERVICES=DEVICE.ACCOUNT http://<device ip>/getcfg.php

For those that are not familiar with "curl" syntax, the above command-line requests the "getcfg.php" page, supplying the HTTP POST data "SERVICES=DEVICE.ACCOUNT".

The lack of proper authentication checks is not limited to the "getcfg.php" web page. As an example, the following requests can also be performed with no authentication: 1. Read system log curl http://<device ip>/log_get.php

  1. Get DDNS statistics curl -d act=getreport http://<device ip>/ddns_act.php

  2. Dump device details curl http://<device ip>/DevInfo.php

[REMEDIATION] D-Link has released an updated firmware version (1.03) that addresses this issue. The firmware is already available on D-Link web site, and introduces additional restrictions to forbid unauthenticated access to page "getcfg.php".

[DISCLAIMER] The author is not responsible for the misuse of the information provided in this security advisory. The advisory is a service to the professional security community. There are NO WARRANTIES with regard to this information. Any application or distribution of this information constitutes acceptance AS IS, at the user's own risk. This information is subject to change without notice.