Unauthenticated command injection RCE in multiple D-Link routers via PingTest/apply_sec.cgi
CVE-2019-16920 is an unauthenticated remote code execution vulnerability affecting multiple D-Link router products, including DIR-655C, DIR-866L, DIR-652, DHP-1565, and later-reported affected models such as DIR-855L, DAP-1533, DIR-862L, DIR-615, DIR-835, and DIR-825. The flaw is in the web management interface, specifically the PingTest functionality exposed through the device CGI endpoint (reported as the PingTest device CGI and also associated with /apply_sec.cgi). An attacker can supply arbitrary input to this functionality, and that input is improperly passed to the underlying system shell, resulting in OS command injection. Because exploitation does not require authentication and the injected commands execute in the router context, successful exploitation can yield full system compromise of the device.
Are you exposed to this one?
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
Impact, mitigation & remediation
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
Impact
What an attacker gets, and what they’ve been doing with it.
Mitigation
If you can’t patch tonight, do this now.
Remediation
Patch, then assume compromise.
Exploits
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository contains two Python exploit scripts (CVE-2019-16920.py and CVE-2019-16920-MassPwn3r.py) targeting CVE-2019-16920, a remote unauthenticated command injection vulnerability in multiple D-Link router models. The exploit works by sending a crafted POST request to the /apply_sec.cgi endpoint, abusing the 'ping_test' action to inject and execute arbitrary system commands. The single-target script (CVE-2019-16920.py) takes an IP, port, and command as arguments, while the mass exploitation script (CVE-2019-16920-MassPwn3r.py) reads a list of IPs from bots.txt and attempts to exploit each in parallel using threads. The README.md provides usage instructions, a list of affected models, and a brief vulnerability description. The bots.txt file contains a sample list of target IP addresses. The exploit is operational, providing remote code execution on vulnerable devices without authentication.
Affected products & vendors
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
Recent activity
4 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A command injection vulnerability in multiple D-Link products, exploited by RondoDox.
A remote code execution vulnerability in the D-Link DIR-866L PingTest functionality referenced as an IPS detection associated with APT41-related coverage.
The version that knows your environment.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.