CVE-2026-108894
Executive Summary
CVE-2026-108894 is an unpatched OS command injection vulnerability in the Linksys E1700 router running firmware version 1.0.0.4.003, residing in the addStaticRoute function within the /goform/addStaticRoute endpoint. An authenticated remote attacker can manipulate the staticRoute_IP_setting, staticRoute_Netmask_setting, staticRoute_Gateway_setting, and staticRoute_Metric_setting parameters to inject and execute arbitrary operating system commands. With a critical CVSS score of 9.9 and public exploit code available, the lack of a vendor patch makes this a high-priority risk for any organization with exposed E1700 devices.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability is classified as CWE-77 (Improper Neutralization of Special Elements used in a Command), otherwise known as OS command injection. It affects the static route handling component of the Linksys E1700 web management interface. Specifically, the affected function is addStaticRoute, reachable via the /goform/addStaticRoute endpoint — a goform CGI handler typical of Linksys/embedded router firmware.
The attack surface is the router's HTTP management interface. When a static route is added, the router takes the user-supplied route parameters and, per the NVD description, passes them into a system-level command without adequate sanitization. The four injectable parameters are:
staticRoute_IP_setting— destination network/address of the route.staticRoute_Netmask_setting— subnet mask.staticRoute_Gateway_setting— next-hop gateway.staticRoute_Metric_setting— route metric/priority.
Because these values are embedded into a shell command (for example, to invoke the underlying route/ip utility), an attacker who supplies shell metacharacters (;, |, &&, `, $(), etc.) in any of these fields can append and execute arbitrary OS commands with the privileges of the web server process (typically root on embedded routers).
Key characteristics from the CVSS vector:
- AV:N (Network) — exploitable remotely over the network.
- AC:L (Low) — no special attack complexity or race condition required.
- PR:L (Low privileges required) — the attacker must be authenticated (a valid session on the web UI).
- UI:N (No user interaction) — no victim action needed once the attacker is authenticated.
- S:C (Scope Changed) — the vulnerable component and the impacted component are different; command execution escapes the web handler into the underlying OS, which is why Scope is Changed.
- C:H / I:H / A:H — full compromise of confidentiality, integrity, and availability once commands execute as root.
The PR:L rating reflects that the management interface requires login; however, default or weak router credentials, CSRF against an authenticated admin, or authentication bypasses elsewhere would reduce the practical barrier to exploitation. Insufficient technical detail is available in the NVD entry to describe the exact string concatenation or shell invocation used inside addStaticRoute; the analysis above stays at the vulnerability-class level consistent with the disclosure.
Exploitation Scenarios
No public PoC artifact was parsed from the feed data, but the NVD entry explicitly states that "the exploit has been released to the public and may be used for attacks." The following chain is inferred from the vulnerability class (authenticated OS command injection in a CGI goform handler).
Reconnaissance / target identification. An attacker scans for internet- or LAN-exposed Linksys E1700 management interfaces. Shodan-style queries such as
product:"Linksys E1700"or pages containingaddStaticRouteidentify candidate hosts. Devices exposed on WAN-side HTTP (port 80/443) or reachable from a pivot point on the LAN are prioritized.Authentication. Because the vector specifies PR:L, the attacker obtains a valid session — via default/weak admin credentials, credential reuse, or a separate authentication weakness. The attacker then establishes an authenticated cookie/session to the router's web UI.
Triggering the flaw. The attacker issues an HTTP POST to
/goform/addStaticRoutecontaining the four route parameters. One or more ofstaticRoute_IP_setting,staticRoute_Netmask_setting,staticRoute_Gateway_setting, orstaticRoute_Metric_settingis supplied with shell metacharacters appended to a valid-looking value, so the crafted value survives validation and is concatenated into the backend shell command.Payload / execution. At the vulnerability-class level, the injected metacharacters cause the router's shell to execute an attacker-controlled command in addition to (or instead of) the intended route command. The command runs with the privileges of the web stack — on embedded routers this is commonly
root. The attacker can thereby read files, alter configuration, install persistence, or pivot into the internal network.Post-exploitation impact. With root-level command execution, the attacker can exfiltrate credentials and configuration, disable logging, establish a reverse shell or tunnel, use the router as a persistent foothold for lateral movement, or brick/reboot the device (availability impact). Because Scope is Changed, the compromise extends beyond the web handler to the entire device OS and the networks it routes.
Impact Assessment
CVE-2026-108894 carries a CVSS v3.1 base score of 9.9 (Critical) with vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H. The combined High confidentiality, integrity, and availability impacts mean a successful exploit yields complete control of the device and the data it processes. The Scope:Changed rating reflects that the vulnerable web component leads to compromise of the underlying operating system and routed network — a blast-radius multiplier.
Business impact:
- Network perimeter compromise. The router is the gateway between trusted and untrusted networks; full control enables traffic interception, DNS/DHCP manipulation, and man-in-the-middle attacks on all downstream clients.
- Credential and data theft. Configuration files often contain VPN keys, PSKs, and admin credentials (High confidentiality).
- Persistence and lateral movement. Root access permits implanting backdoors and pivoting into the internal LAN.
- Availability. Attackers can disable or reboot the device, disrupting connectivity for every connected host.
- Scope and scale. E1700 units are typically consumer/SOHO devices but are frequently found in branch offices and remote-worker setups, making them attractive, low-supervision footholds.
The EPSS score is not yet available (FIRST.org has not scored this CVE), so no exploitation-probability percentile can be cited. The presence of public exploit code, however, materially raises real-world risk. This CVE is not listed in CISA KEV.
Detection Guidance
Detection focuses on anomalous POST requests to /goform/addStaticRoute, shell metacharacters in route-related parameters, and unexpected child processes spawned by the router's web server.
Sigma Rule
title: Linksys E1700 OS Command Injection via addStaticRoute
id: 3f9c1a2e-7b64-4d21-9a9e-1c9b0a7e5f10
status: experimental
description: Detects exploitation attempts against CVE-2026-108894 targeting /goform/addStaticRoute
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-108894
author: valtersit.com
date: 2026/01/01
logsource:
category: webserver
detection:
selection_endpoint:
cs-uri-stem|contains: '/goform/addStaticRoute'
selection_method:
cs-method: 'POST'
selection_payload:
cs-uri-query|contains:
- 'staticRoute_IP_setting'
- 'staticRoute_Gateway_setting'
selection_metachars:
cs-uri-query|contains:
- ';'
- '|'
- '&&'
- '$('
- '`'
condition: selection_endpoint and selection_method and selection_payload and selection_metachars
falsepositives:
- Legitimate administrative configuration (rare with metacharacters)
level: high
tags:
- attack.t1190
- cve.2026.108894
YARA Rule
rule CVE_2026_108894_Linksys_E1700_CMDi
{
meta:
description = "Detects Linksys E1700 addStaticRoute command injection exploitation artifacts"
author = "valtersit.com"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-108894"
date = "2026-01-01"
strings:
$endpoint = "/goform/addStaticRoute" ascii wide nocase
$p1 = "staticRoute_IP_setting" ascii wide nocase
$p2 = "staticRoute_Netmask_setting" ascii wide nocase
$p3 = "staticRoute_Gateway_setting" ascii wide nocase
$p4 = "staticRoute_Metric_setting" ascii wide nocase
$meta1 = ";" ascii
$meta2 = "&&" ascii
$meta3 = "|" ascii
$meta4 = "$(" ascii
condition:
$endpoint and any of ($p*) and any of ($meta*)
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-108894 Linksys E1700 addStaticRoute OS Command Injection Attempt"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/goform/addStaticRoute"; http.uri; content:"staticRoute_"; pcre:"/(staticRoute_(IP|Netmask|Gateway|Metric)_setting)=([^&]*)(%3B|;|%7C|\||%26%26|&&|%60|`|%24%5C(%5C()/Ui"; reference:cve,2026-108894; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-108894; classtype:web-application-attack; sid:2026108894; rev:1;)
Elastic Detection
sequence by source.ip with maxspan=10s
[network where http.request.method == "POST" and url.path == "/goform/addStaticRoute"]
[process where process.parent.name in ("httpd", "lighttpd", "uhttpd", "goahead") and process.name in ("sh", "bash", "busybox", "wget", "curl", "nc")]
Splunk SPL Query
index=web OR index=proxy
| eval raw = lower(_raw)
| where like(raw, "%/goform/addstaticroute%")
| eval metachar = if(match(raw, "[;|`]|%3b|%7c|%60|\$\(|%24%28|&&|%26%26"), 1, 0)
| eval routeparam = if(match(raw, "staticroute_(ip|netmask|gateway|metric)_setting"), 1, 0)
| where metachar=1 AND routeparam=1
| stats count min(_time) as first_seen max(_time) as last_seen by src_ip, dest_ip, http_user_agent
| sort - count
Wazuh OSSEC Rule
<group name="web,linksys,cve-2026-108894,">
<rule id="2026108" level="12">
<if_sid>31100,31101,31108</if_sid>
<id>^/goform/addStaticRoute</id>
<match>staticRoute_</match>
<regex>[;|`]|\$\(|&&</regex>
<description>CVE-2026-108894: Linksys E1700 addStaticRoute OS command injection attempt detected</description>
<mitre>
<id>T1190</id>
</mitre>
<group>web_attack,command_injection,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 — UNPATCHED. No patch or firmware fix has been released for CVE-2026-108894; the vendor (Linksys) was contacted early about the disclosure but did not respond. There is no vendor workaround listed. The recommendations below are compensating controls.
- Immediate mitigations
- Remove internet exposure. Block WAN-side access to the router's web management interface (ports 80/443). Restrict management to the LAN only, or via VPN.
- Disable remote management and, where available, disable the
/goform/addStaticRoutefunctionality if static-route configuration is not required. - Enforce strong, unique admin credentials and change any defaults — the PR:L rating means an attacker needs a valid session, so credential hygiene directly raises the bar.
- Network segmentation. Place E1700 devices behind a firewall with strict egress filtering; monitor for outbound connections from the router to unexpected hosts (reverse shells, tunnels).
- Deploy virtual patching at the network edge using the Suricata/Sigma detections above to block or alert on POST requests to
/goform/addStaticRoutecontaining shell metacharacters.
- Patch / upgrade steps
- No patch exists. Do not rely on firmware updates for this CVE. Check the Linksys support site periodically for an E1700 firmware advisory, but assume none is coming given the vendor's silence.
- Replace or isolate affected hardware. Because the device is end-of-support/unpatched, the most reliable remediation is to replace the E1700 with a maintained router platform or to keep it isolated on a dedicated, untrusted segment with no path to sensitive assets.
- Long-term hardening
- Maintain an accurate inventory of network edge devices and their firmware versions; retire end-of-life hardware.
- Apply least-privilege and out-of-band management for all network infrastructure.
- Continuously monitor router and firewall logs for command-injection indicators, configuration changes, and unexpected process activity.
- Treat SOHO/branch routers as untrusted endpoints in your zero-trust model; do not place them on flat internal networks.
References
- NVD — CVE-2026-108894: https://nvd.nist.gov/vuln/detail/CVE-2026-108894
- CWE-77 — Improper Neutralization of Special Elements used in a Command: https://cwe.mitre.org/data/definitions/77.html
- MITRE ATT&CK T1190 — Exploit Public-Facing Application: https://attack.mitre.org/techniques/T1190/
- FIRST EPSS (score not yet published for this CVE): https://www.first.org/epss/
- CISA Known Exploited Vulnerabilities Catalog (CVE not currently listed): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
No named threat-actor campaign or CISA KEV entry is associated with CVE-2026-108894 in the provided data. Public exploit code is reported to have been released, but no specific exploit artifact was supplied in the source data.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.