D-Link: Multiple Security Vulnerabilities Leading to RCE

The D-Link 2888A firmware had multiple vulnerabilities, include RCE, information leakage and authentication bypass and CVEs.

On the 30th of October, D-Link published a support announcement and released a new firmware to patch five vulnerabilities that Harold Zang, Technical Security Specialist at Trustwave, identified on the DSL-2888A router. These security vulnerabilities could allow a malicious Wi-Fi or local network user to gain unauthorised access to the router web interface, obtain the router password hash, gain plaintext credentials, and execute system commands on the router.

The router web portal has insufficient authentication in place allowing access to any authenticated administrative page without the requirement to have the correct password. A malicious user located on the same network can directly browse to any authenticated administrative page with invalid credentials.

  1. Browse to the router web interface: http://192.168.1.1/
  2. Submit any string as password
  3. The application will inform the user that the password is invalid, however, a valid access session is achieved
  4. Browse to any authenticated page. For example: /WiFi.shtml.

The following video demonstrates this vulnerability:

Upon establishing connection to the network either via physical connection or via wireless access, a malicious user can obtain the Internet provider connection username and password in plaintext, and the wireless router login username and password in plaintext by directly browsing to the following URLs:

http://DeviceIP:8008/tmp/cfg/lib_cfg_cfgcmd
http://DeviceIP:8008/tmp/.nvram

D-Link Information Leakage
D-Link Information Leakage

The D-Link DSL-2888A router has a file sharing functionality that allows users to share fileswith other network users via inserting an external drive onto the router. This is then shared via FTP (File Transfer Protocol). However, FTP service allows a network user to escape the shared folder to access the router file system and download other files located on the root folder.

The following provides an example for downloading the “passwd”: Use the following command on an FTP client to connect to the FTP service with valid credentials (obtained from Finding-2).

1
2
3
4
5
6
7
8
ftp <DeviceIP>

#Use the following command to navigate to the root folder.
ftp>cd /

#Use the following command to download the password hash file.
ftp>cd etc/
ftp>get passwd
D-Link FTP Misconfiguration
D-Link FTP Misconfiguration

The attacker must first obtain the FTP credentials. Finding-2 disclosed the credential in plaintext.

An authenticated user can to execute Linux operation system commands in the router via hidden functionality not available on the router’s web portal interface.

The following is a Proof of Concept URL:

http://DeviceIP/cgi-bin/execute_cmd.cgi?timestamp=1589333279490&cmd=ls

D-Link RCE 1
D-Link RCE 1
D-Link RCE 2
D-Link RCE 2

The ability to execute operation system commands on a router will allow an attacker to monitor network traffic to steal sensitive data including login credentials, this might also allow a malicious user to install backdoors on the router.

Although exploitation of this requires authentication, Finding-1 provides a way to bypass the authentication.

The last vulnerability was another insufficient authentication vulnerability. The router uses the source IP address of a connecting user to perform authentication. The allows a malicious user to “spoof” the IP address of a legitimate user with a valid session by changing their IP address to that of an administrator user, to browse to any authenticated administrative web pages.

Another CVE for Command Injection: How did I find Command Injection in MVP-5150 (CVE-2019-11224)