Root command execution via unquoted UPnP service parameter
Published Dec 30, 2019 · Updated Oct 21, 2025
Command injection in UPnP in D-Link DIR-859 1.06B01 Beta01 and earlier allows remote attackers to execute root commands via SUBSCRIBE. The genacgi_main() function incorporates the untrusted service parameter into SHELL_FILE, which GENA_notify_init() appends unquoted to an rm command in a generated shell script. Exploitation requires LAN-side access to the UPnP service but no credentials or user interaction, granting control of the router as root.
Summary
What happened
Command injection in UPnP in D-Link DIR-859 1.06B01 Beta01 and earlier allows remote attackers to execute root commands via SUBSCRIBE. The genacgi_main() function incorporates the untrusted service parameter into SHELL_FILE, which GENA_notify_init() appends unquoted to an rm command in a generated shell script. Exploitation requires LAN-side access to the UPnP service but no credentials or user interaction, granting control of the router as root.
The record
- CVE
- CVE-2019-17621
- Published
- Dec 30, 2019
- Updated
- Oct 21, 2025
- Vendor
- D-Link
- Product
- DIR-859
- Classifications
- CWE-78, T1059.004
- Attack vector
- adjacent
- Privileges
- unauthenticated
Timeline
How it unfolded
- Dec 30, 2019CVE publishedPublication date reported by the CVE source.
- May 1, 2023Exploitation reportedMirai variant exploitation campaign
- Jun 29, 2023Exploitation reportedCISA KEV inclusion
- Oct 21, 2025Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=n/a
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Activity data is delayed. The latest report is Sep 28, 2026.
View daily counts
| Reporting day | Unique IPs |
|---|---|
| Sep 22, 2026 | Unavailable |
| Sep 23, 2026 | Unavailable |
| Sep 24, 2026 | Unavailable |
| Sep 25, 2026 | Unavailable |
| Sep 26, 2026 | 1 |
| Sep 27, 2026 | Unavailable |
| Sep 28, 2026 | Unavailable |
Weakness, pattern, technique
Public exploit references
- DIR-859 SUBSCRIBE Python proof of conceptproof of concept · demonstrated
- DIR-859 Metasploit command-execution modulefunctional · unverified
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Reported exploitation
- Mirai variant exploitation campaignbotnet
- CISA KEV inclusionknown exploited catalog
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Get started to see how Hinoki identifies affected software and validates exploitability in your environment.
Contact us