Tenda CH22 Buffer Overflow Vulnerability in RouteStatic Endpoint

Vulnerability

A critical buffer overflow vulnerability has been identified in the Tenda CH22 router, specifically in version 1.0.0.1. The issue arises in the RouteStatic endpoint, where the fromRouteStatic function processes the user-controlled 'page' parameter using sprintf. This method writes data into a fixed-size buffer without proper length checks, allowing input larger than 256 bytes to overwrite adjacent memory. Such memory manipulation can lead to application crashes, memory corruption, or arbitrary code execution. The vulnerability poses significant risks to device stability, data confidentiality, and overall system security, necessitating immediate attention to prevent exploitation.

Impact

Exploitation of this vulnerability can cause a denial-of-service condition by crashing the web server process, making the device's management interface unavailable. Additionally, it allows for arbitrary code execution by overwriting the return address on the stack to redirect program execution to shellcode, potentially giving the attacker full control over the device. The vulnerability also enables information leakage by exposing sensitive data from the device's memory. Successful exploitation could allow an attacker to take over the router, monitor network traffic, or use the device as a pivot point to attack other devices on the network.

Reproduction

The vulnerability can be reproduced by sending a POST request to the '/goform/RouteStatic' endpoint with an oversized 'page' parameter. This can be done using a Python script that utilizes the 'requests' library to send the exploit. The script should be configured to send a 'page' value that exceeds 2048 bytes, effectively triggering the buffer overflow by overwriting the return address on the stack.

Added: Oct 27, 2025, 12:19 PM
Updated: Oct 27, 2025, 2:56 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
7.5
exploitability
6.0
remediation
0.0
relevance
0.9
threat
6.4
urgency
2.9
incentive
0.8

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.