☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
D-Link logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.6 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L 🐛 CWE-77
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-90705

CVE-2026-90705 OS Command Injection in D-Link
📅 PUBLISHED: 2026-09-14 00:00 UTC 🔄 UPDATED: 2026-09-22 09:09 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 1.54%
👁️
1.54% probability
38.5× above the median CVE
Tier: HIGH
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Taiwan License: Commercial
VULNERABLE: 1.1.52
CVSS VECTOR BREAKDOWN 6.6
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: H Privileges Required High
UI: N User Interaction None
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
6.6
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-90705 is an OS command injection vulnerability in the D-Link DWR-M921 mobile router (firmware 1.1.52), residing in the formsysCmd function accessible via the /boafrm/formsysCmd endpoint within the Boa dispatch table component. An authenticated attacker with network access can manipulate the sysCmd argument to execute arbitrary operating system commands on the underlying device, resulting in full compromise of the router's integrity, confidentiality, and availability scope. Although the CVSS base score is 6.6 (Medium), the scope change (S:C) indicates that successful exploitation escapes the vulnerable component's security context, elevating the real-world risk for downstream network segments reliant on this device.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability class is CWE-77 (Improper Neutralization of Special Elements used in a Command, commonly referred to as Command Injection). The NVD description specifies that the flaw affects the function formsysCmd, located at the path /boafrm/formsysCmd, and that it is reachable through the Boa web server's dispatch table. The Boa web server — a lightweight embedded HTTP daemon frequently deployed on consumer and SOHO routing hardware — routes incoming HTTP requests to registered handler functions. Here, the handler formsysCmd processes the sysCmd argument without adequate sanitization or escaping of shell metacharacters.

The core mechanism: an attacker supplies crafted input for the sysCmd parameter. Because the application passes this user-controlled string into a system command execution context (for example, a shell invocation) without neutralizing metacharacters such as ;, |, &&, $(), or backticks, the injected payload is interpreted by the underlying OS shell rather than treated as inert data. This allows arbitrary command execution with the privileges of the Boa web server process — typically root on embedded firmware.

The CVSS vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L reveals several salient characteristics:

  • AV:N (Network) — the endpoint is remotely reachable.
  • AC:L (Low) — no special conditions or race windows are required; a single malicious request suffices.
  • PR:H (High) — the attacker must possess valid credentials (the request is authenticated). This is the primary factor suppressing the base score despite the severe impact class.
  • UI:N (None) — no victim user interaction is necessary.
  • S:C (Changed) — successful exploitation compromises resources beyond the vulnerable component, meaning the router firmware's security boundary is traversed and other network resources become reachable.
  • C:L/I:L/A:L — limited impact to confidentiality, integrity, and availability individually, but scope change amplifies overall severity.

The disclosure notes the exploit "has been publicly disclosed and may be utilized," indicating proof-of-concept material is in circulation. However, no Nuclei template, exploit code, or PoC repository was provided in the tracked data sources, so the exact payload syntax is not reproduced here.

Exploitation Scenarios

No public PoC was provided in the tracked data; the following attack chain is inferred strictly from the vulnerability class and the specific identifiers present in the NVD description (formsysCmd, /boafrm/formsysCmd, sysCmd argument, Boa dispatch table, DWR-M921 1.1.52).

  1. Reconnaissance / Target Identification. An adversary scans internet-exposed or laterally reachable D-Link DWR-M921 devices. Because the Boa web server presents a recognizable administrative interface, fingerprinting can identify the device model and firmware version. Shodan or similar internet-wide scanners can enumerate exposed management interfaces matching the DWR-M921 product signature on common HTTP management ports (e.g., 80/8080).

  2. Authentication. The CVSS vector specifies PR:H — the attacker must be authenticated. The adversary therefore obtains valid administrative credentials, either through default credentials, credential stuffing, prior phishing, or a separate authentication-bypass vulnerability. Without valid credentials, the formsysCmd handler is not directly reachable.

  3. Triggering the Flaw. The attacker sends a crafted HTTP request to /boafrm/formsysCmd, supplying a malicious value in the sysCmd argument. The Boa dispatch table maps this path to the formsysCmd function, which processes the argument and passes it toward OS command execution without neutralization of shell metacharacters.

  4. Payload / Execution (vulnerability-class level). By embedding command separators or substitution operators in the sysCmd value, the attacker causes the device's shell to execute an arbitrary command. The specific payload characters are not disclosed in the source data; at the class level, this is textbook command injection — the shell interprets injected syntax as a new command rather than as part of the intended argument.

  5. Post-Exploitation Impact. Successful execution grants the attacker operating-system-level command execution on the router with the privileges of the Boa process (commonly root on embedded Linux firmware). This enables: persistence via modified startup scripts, installation of backdoors, DNS hijacking to redirect downstream clients, traffic interception/man-in-the-middle (justifying the S:C scope change), lateral movement into the internal network the router serves, and participation in botnets. The limited CIA subscores (L) reflect per-request impact, but sustained access materially increases real-world damage.

Impact Assessment

Affected systems: D-Link DWR-M921 mobile routers running firmware version 1.1.52. Because the CVSS score is 6.6 (Medium), it is easy to underestimate; however, the Scope Change (S:C) is a critical multiplier. When a router is compromised, every device behind it inherits risk.

Business impact: These devices are often deployed in branch offices, mobile/field operations, remote kiosks, or as failover WAN connectivity. Compromise yields a choke-point foothold from which an attacker can:

  • Intercept, redirect, or alter network traffic (confidentiality loss across the scope).
  • Modify routing, DNS, or firewall rules (integrity loss).
  • Render the device unusable or reset connectivity (availability loss).

Blast radius: Because routers are network hops, the blast radius is not the single device but the entire connected subnet or WAN link. An attacker with command execution can pivot into trusted internal segments that assume the router is benign infrastructure.

Subscore interpretation: AV:N makes it remotely exploitable; AC:L makes it reliable; PR:H constrains the initial population of attackers to those with credentials; UI:N means no user is required to trigger; S:C widens impact beyond the component; C:L/I:L/A:L reflect the immediate vector but understate cumulative risk under sustained exploitation.

Detection Guidance

Sigma Rule

title: D-Link DWR-M921 formsysCmd OS Command Injection Attempt
id: 8b1c2f40-9070-4a5e-9d33-cve2026dlink
status: experimental
description: Detects HTTP requests to the Boa /boafrm/formsysCmd endpoint on D-Link DWR-M921 devices containing shell metacharacters in the sysCmd argument, indicative of CVE-2026-90705 exploitation.
author: valtersit.com
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-90705
date: 2026/01/01
logsource:
  category: webserver
  product: boa
detection:
  selection_uri:
    cs-uri-stem|contains: '/boafrm/formsysCmd'
  selection_payload:
    cs-uri-query|contains:
      - 'sysCmd='
  selection_metachar:
    cs-uri-query|contains:
      - ';'
      - '|'
      - '&&'
      - '$( )'
      - '`'
      - '%3B'
      - '%7C'
  condition: selection_uri and selection_payload and selection_metachar
falsepositives:
  - Legitimate administrative use of the system command feature with benign parameters
level: high
tags:
  - attack.t1190
  - cve.2026.90705

YARA Rule

rule CVE_2026_90705_DLink_formsysCmd_Exploit
{
    meta:
        description = "Detects request payloads targeting the D-Link DWR-M921 formsysCmd OS command injection (CVE-2026-90705)"
        author = "valtersit.com"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-90705"
        date = "2026-01-01"
        severity = "high"

    strings:
        $uri = "/boafrm/formsysCmd" ascii nocase
        $param = "sysCmd" ascii nocase
        $semi = ";" ascii
        $pipe = "|" ascii
        $amp = "&&" ascii

    condition:
        $uri and $param and 1 of ($semi, $pipe, $amp)
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-90705 D-Link DWR-M921 formsysCmd OS Command Injection Attempt"; flow:established,to_server; http.uri; content:"/boafrm/formsysCmd"; nocase; http.uri; content:"sysCmd"; nocase; http.uri; pcre:"/(\%3B|;|\||%7C|%26%26|`)/i"; classtype:web-application-attack; reference:cve,2026-90705; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-90705; sid:9000705; rev:1;)

Elastic Detection

sequence by source.ip with maxspan=10s
  [network where http.request.method == "GET" and url.path == "/boafrm/formsysCmd" and url.query : "sysCmd*"]
  [network where http.request.method == "POST" and url.path == "/boafrm/formsysCmd"]

Splunk SPL Query

index=web sourcetype=access_combined OR sourcetype=boa_access
| search uri_path="/boafrm/formsysCmd"
| eval suspicious=if(match(query, "(?i)(sysCmd=.*(;|\||%3B|%7C|&&|`|%26%26))"), "yes", "no")
| where suspicious="yes"
| stats count values(query) as payloads by src_ip, uri_path
| sort - count

Wazuh OSSEC Rule

<group name="web,dlink,cve-2026-90705,">
  <rule id="100705" level="12">
    <decoded_as>web-accesslog</decoded_as>
    <match>/boafrm/formsysCmd</match>
    <regex type="pcre2">sysCmd=.*(;|\||%3B|%7C|&amp;&amp;|`|%26%26)</regex>
    <description>CVE-2026-90705: D-Link DWR-M921 formsysCmd OS command injection attempt</description>
    <mitre>
      <id>T1190</id>
    </mitre>
    <group>attack,web_attack,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 — UNPATCHED. No patch evidence was identified from any tracked source; no vendor fix or workaround is documented in the source data. Version 1.1.52 remains vulnerable.

  1. Immediate mitigations

    • Restrict access to the DWR-M921 management interface: block external/Internet exposure of the Boa web server (ports 80/443 as applicable) at the firewall and on the device itself.
    • Isolate affected routers on a dedicated management VLAN with strict ACLs; prohibit management-plane access from untrusted segments.
    • Enforce strong, unique administrative credentials and rotate any default or shared passwords to defeat the PR:H precondition.
    • Where operationally feasible, disable the remote-management/system-command feature if it is not required. (Capability names beyond formsysCmd are not confirmed in the source data — validate on-device before disabling.)
    • Monitor for anomalous egress and DNS changes originating from the router.
  2. Patch/upgrade steps

    • Monitor the D-Link security advisory portal for DWR-M921 firmware releases addressing CVE-2026-90705. Because no patch is confirmed, do not assume any specific version fixes the issue.
    • If and when a fixed firmware is released, validate the update, back up configuration, and apply promptly.
    • If no patch materializes, evaluate hardware replacement with a device that receives active security maintenance.
  3. Long-term hardening

    • Establish an inventory and firmware-lifecycle program for all SOHO/branch edge devices; retire end-of-support hardware.
    • Deploy network detection (the Suricata/Sigma rules above) at the network perimeter and internal chokepoints.
    • Adopt least-privilege network segmentation so that compromise of an edge router does not grant access to sensitive internal segments.
    • Continuously monitor for exploitation signatures and unusual administrative activity on management interfaces.

References

Threat actor / exploit-in-the-wild note: The NVD description states the exploit "has been publicly disclosed and may be utilized," indicating exploit availability. However, no specific threat actor campaign, CISA KEV listing (CISA KEV: NO), or confirmed in-the-wild exploitation attributed to a named group was present in the source data. Readers should treat public-disclosure status as elevated risk without assuming confirmed active campaigns.

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-90705/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.