// For flags

CVE-2017-8413

Dlink DCS-1130 Command Injection / CSRF / Stack Overflow

Severity Score

8.8
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

An issue was discovered on D-Link DCS-1100 and DCS-1130 devices. The device runs a custom daemon on UDP port 5978 which is called "dldps2121" and listens for broadcast packets sent on 255.255.255.255. This daemon handles custom D-Link UDP based protocol that allows D-Link mobile applications and desktop applications to discover D-Link devices on the local network. The binary processes the received UDP packets sent from any device in "main" function. One path in the function traverses towards a block of code that handles commands to be executed on the device. The custom protocol created by D-Link follows the following pattern: Packetlen, Type of packet; M=MAC address of device or broadcast; D=Device Type;C=base64 encoded command string;test=1111. If a packet is received with the packet type being "S" or 0x53 then the string passed in the "C" parameter is base64 decoded and then executed by passing into a System API. We can see at address 0x00009B44 that the string received in packet type subtracts 0x31 or "1" from the packet type and is compared against 0x22 or "double quotes". If that is the case, then the packet is sent towards the block of code that executes a command. Then the value stored in "C" parameter is extracted at address 0x0000A1B0. Finally, the string received is base 64 decoded and passed on to the system API at address 0x0000A2A8 as shown below. The same form of communication can be initiated by any process including an attacker process on the mobile phone or the desktop and this allows a third-party application on the device to execute commands on the device without any authentication by sending just 1 UDP packet with custom base64 encoding.

Se detectó un problema en los dispositivos DCS-1100 y DCS-1130 de D-Link. El dispositivo ejecuta un demonio personalizado en el puerto UDP 5978 que es llamado "dldps2121" y escucha los paquetes de difusión enviados en 255.255.255.255. Este demonio maneja el protocolo basado en UDP D-Link personalizado, que permite a las aplicaciones móviles D-Link y a las aplicaciones de escritorio detectar dispositivos D-Link en la red local. El binario procesa los paquetes UDP recibidos enviados desde cualquier dispositivo en la función "main". Una ruta (path) en la función se dirige hacia un bloque de código que maneja los comandos que se ejecutarán en el dispositivo. El protocolo personalizado creado por D-Link sigue el siguiente patrón: Paquete, Tipo de paquete; M=dirección MAC del dispositivo o transmisión; D=Tipo de dispositivo; C=cadena de comando codificada en base64; prueba=1111. Si un paquete es recibido con el tipo de paquete "S" o 0x53, la cadena pasada en el parámetro "C" se descodifica en base64 y luego se ejecuta pasando a una API del Sistema. Podemos ver en la dirección 0x00009B44 que la cadena recibida en el tipo de paquete sustracción 0x31 o "1" del tipo de paquete y se compara con 0x22 o "double quotes". Si este es el caso, entonces el paquete se envía hacia el bloque de código que ejecuta un comando. Luego, el valor almacenado en el parámetro "C" se extrae en la dirección 0x0000A1B0. Finalmente, la cadena recibida se descodifica en base 64 y se transmite a la API del sistema en la dirección 0x0000A2A8 como se muestra a continuación. La misma forma de comunicación puede ser inicializada mediante cualquier proceso, incluido un proceso de atacante en el teléfono móvil o en el escritorio, y esto permite que una aplicación de terceros en el dispositivo ejecute comandos en el dispositivo sin alguna autenticación por medio del envío de solo 1 paquete UDP con codificación base64 personalizada.

Dlink DCS-1130 suffers from command injection, cross site request forgery, stack overflow, and various other vulnerabilities.

*Credits: N/A
CVSS Scores
Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Attack Vector
Adjacent
Attack Complexity
Low
Authentication
None
Confidentiality
Complete
Integrity
Complete
Availability
Complete
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2017-05-02 CVE Reserved
  • 2019-06-07 CVE Published
  • 2024-08-05 CVE Updated
  • 2024-11-22 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-77: Improper Neutralization of Special Elements used in a Command ('Command Injection')
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Dlink
Search vendor "Dlink"
Dcs-1130 Firmware
Search vendor "Dlink" for product "Dcs-1130 Firmware"
--
Affected
in Dlink
Search vendor "Dlink"
Dcs-1130
Search vendor "Dlink" for product "Dcs-1130"
--
Safe
Dlink
Search vendor "Dlink"
Dcs-1100 Firmware
Search vendor "Dlink" for product "Dcs-1100 Firmware"
--
Affected
in Dlink
Search vendor "Dlink"
Dcs-1100
Search vendor "Dlink" for product "Dcs-1100"
--
Safe