CVE-2018-10562
Critical · 9.8 CISA KEV · ransomwareCVSS
9.8
EPSS
99.9%
Published
May 4, 2018
CISA due date
Apr 21, 2022
Cloudanix analysis
Attackers can remotely seize control of certain older home routers, letting them intercept traffic or spread malware across connected networks.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Trivial
- Impact
- Full Compromise
- Component
- Firmware
- Class
- Command Injection
- Remediation
- No Fix Yet
- Effort
- Other
- Patch risk
- Other
What it actually does
Unauthenticated command injection via the dest_host parameter in diag_action=ping requests to the GponForm/diag_Form URI; results are stored in /tmp and exposed when the user revisits /diag.html.
Why it matters to the business
Remote attackers can seize complete control of affected routers, enabling network interception, data theft, and deployment as ransomware or botnet infrastructure; high operational risk given documented ransomware use and CISA-mandated remediation deadline of 2022-04-21.
How an attack unfolds
An attacker crafts an HTTP request to the diag_Form endpoint embedding shell commands in dest_host, triggers execution during the ping operation, then retrieves output from /diag.html; the technique has been actively exploited in the wild by threat actors targeting Dasan GPON devices for initial access and persistence.
How to fix it
No firmware fixes are available; immediately replace Dasan GPON routers with supported alternatives, disable WAN management interfaces, and enforce network segmentation to limit exposure.
How to confirm the fix worked
Confirm device model and firmware are from the vulnerable Dasan GPON family; test whether diag_Form accepts arbitrary dest_host values and whether /diag.html leaks command output; verify replacement devices do not expose the same endpoints.
Typical attack path
- Send unauthenticated HTTP POST to /GponForm/diag_Form containing diag_action=ping and command injection in dest_host
- Wait for router to execute injected commands and store results in /tmp
- Retrieve command output by requesting /diag.html
- Escalate to persistent access, lateral movement, or ransomware deployment
How to detect it
Inspect web server or router logs for POST requests to GponForm/diag_Form with ping actions and suspicious dest_host values; examine /tmp for unexpected ping result files; review access logs to /diag.html immediately following diag_Form activity.
- /GponForm/diag_Form
- diag_action=ping
- dest_host=
- /diag.html
- /tmp/
What your security team should do
- Prioritize replacement of all Dasan GPON routers due to ransomware exploitation and missed CISA deadline
- Block or monitor traffic to /GponForm/diag_Form and /diag.html from untrusted networks
- Implement strict network segmentation around legacy router segments
- Hunt for historical indicators of compromise in logs and file systems
The record
An issue was discovered on Dasan GPON home routers. Command Injection can occur via the dest_host parameter in a diag_action=ping request to a GponForm/diag_Form URI. Because the router saves ping results in /tmp and transmits them to the user when the user revisits /diag.html, it's quite simple to execute commands and retrieve their output.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-62853 ThingLinks is an enterprise IoT platform. CWE-78
- CVE-2026-119335 Pi-hole is a DNS sinkhole that protects devices from unwanted content without installing… CWE-78
- CVE-2026-116241 pgAdmin 4's Import/Export Data tool wraps a user's query export in a psql \copy (...) TO… CWE-78
- CVE-2026-119713 Paperclip 2026.403.0 before 2026.416.0 contains a remote code execution vulnerability… CWE-78
- CVE-2026-119288 Zuke is a code-first, strongly typed build automation system for Deno. CWE-78
- CVE-2026-118238 The Tenda W18E web management server is vulnerable to OS command injection via the… CWE-78
- CVE-2026-91913 Dell OpenManage Enterprise, versions prior to 4.8.0, contains an Improper Neutralization… CWE-78
- CVE-2026-118992 CallBackery versions before 0.62.0 for Perl allow OS command execution via sqlite3 shell… CWE-78