Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-12236

CVE-2025-12236: Tenda CH22 Buffer Overflow Vulnerability

CVE-2025-12236 is a buffer overflow vulnerability in Tenda CH22 firmware affecting the fromDhcpListClient function. Attackers can exploit this remotely to compromise the device. This article covers technical details, affected versions, impact, and mitigation strategies.

Published:

CVE-2025-12236 Overview

CVE-2025-12236 is a buffer overflow vulnerability in the Tenda CH22 router running firmware version 1.0.0.1. The flaw resides in the fromDhcpListClient function reachable through the /goform/DhcpListClient web endpoint. Attackers manipulate the page argument to overflow a fixed-size buffer in the HTTP handler. Exploitation is performed remotely over the network and requires only low-privilege access to the management interface. Public disclosure of the exploit technique has occurred, increasing the likelihood of weaponization against exposed devices. The vulnerability maps to [CWE-119] Improper Restriction of Operations within the Bounds of a Memory Buffer and [CWE-120] Buffer Copy without Checking Size of Input.

Critical Impact

Remote attackers can trigger memory corruption on Tenda CH22 routers, potentially leading to denial of service or arbitrary code execution on the device.

Affected Products

  • Tenda CH22 router (hardware)
  • Tenda CH22 firmware version 1.0.0.1
  • Deployments exposing the /goform/DhcpListClient web management endpoint

Discovery Timeline

  • 2025-10-27 - CVE-2025-12236 published to NVD
  • 2026-02-24 - Last updated in NVD database

Technical Details for CVE-2025-12236

Vulnerability Analysis

The vulnerability exists in the fromDhcpListClient handler within the embedded web server of the Tenda CH22. This handler processes requests sent to /goform/DhcpListClient, which returns the list of DHCP clients connected to the router. The handler copies the user-supplied page parameter into a stack or heap buffer without validating its length. An attacker who supplies an oversized page value overruns adjacent memory regions. The condition affects confidentiality, integrity, and availability of the device, since memory corruption on consumer routers commonly enables arbitrary code execution as the web server process. The exploit details are publicly disclosed through the GitHub CVE Issue Tracker and VulDB Vulnerability Details #329906.

Root Cause

The root cause is missing bounds checking when the fromDhcpListClient function processes the page query parameter. The function relies on unsafe string operations such as strcpy or sprintf against a fixed-size destination buffer. No length validation precedes the copy. This pattern is recurrent across Tenda's /goform/* CGI handlers, which share similar code generated for the router's HTTP daemon.

Attack Vector

An attacker reaches the vulnerability over the network by issuing an HTTP request to the router's management interface. The request targets /goform/DhcpListClient with a page parameter containing a payload that exceeds the destination buffer size. Exploitation requires low-privileged authentication to the web UI. Devices that expose the management interface to untrusted networks or the internet are at elevated risk. A crafted payload may overwrite return addresses or function pointers, redirecting execution to attacker-supplied shellcode.

No verified public exploit code is included in this advisory. Refer to the VulDB CTI Report #329906 for technical references to the disclosed proof of concept.

Detection Methods for CVE-2025-12236

Indicators of Compromise

  • HTTP requests to /goform/DhcpListClient containing abnormally long page parameter values from external or unexpected source addresses.
  • Unexpected reboots, web service crashes, or watchdog resets on Tenda CH22 devices.
  • New outbound connections from the router to unknown hosts following management plane requests.

Detection Strategies

  • Inspect router HTTP access logs and upstream IDS/IPS logs for requests to /goform/DhcpListClient with parameter lengths exceeding expected sizes (for example, more than 64 bytes).
  • Deploy network signatures matching long page= query strings in HTTP traffic destined to internal router management IPs.
  • Correlate authentication events on the router web UI with subsequent oversized POST or GET requests to /goform/* endpoints.

Monitoring Recommendations

  • Forward router syslog and web access logs to a centralized SIEM for retention and pattern analysis.
  • Alert on management interface access from non-administrative network segments.
  • Track outbound DNS and TCP connections originating from router IPs to detect post-exploitation command and control activity.

How to Mitigate CVE-2025-12236

Immediate Actions Required

  • Restrict access to the Tenda CH22 web management interface so that it is reachable only from trusted internal management VLANs.
  • Disable WAN-side administration if currently enabled on affected devices.
  • Rotate administrator credentials and enforce strong, unique passwords on the router web UI.
  • Inventory all Tenda CH22 devices running firmware 1.0.0.1 and prioritize them for replacement or firmware updates.

Patch Information

At the time of publication, no vendor patch is referenced in the NVD entry for CVE-2025-12236. Monitor the Tenda Official Website for firmware updates addressing the fromDhcpListClient buffer overflow. If the device is end-of-life or no patch is released, plan for hardware replacement with a supported model.

Workarounds

  • Place the router management interface behind a firewall ACL that permits only specific administrator workstations.
  • Disable remote management features and any cloud or app-based remote access on the CH22.
  • Segment the router from guest and IoT networks so a compromised device has limited lateral reach.
  • Where feasible, replace affected devices with currently supported router models that receive active security maintenance.
bash
# Example firewall rule to restrict router management plane access
# Replace 192.0.2.10 with the administrator workstation IP
# Replace 192.168.0.1 with the router management IP
iptables -A FORWARD -p tcp -d 192.168.0.1 --dport 80 -s 192.0.2.10 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.0.1 --dport 80 -j DROP
iptables -A FORWARD -p tcp -d 192.168.0.1 --dport 443 -s 192.0.2.10 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.0.1 --dport 443 -j DROP

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.