Tenda CH22 Buffer Overflow Vulnerability in P2pListFilter 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 '/goform/P2pListFilter' endpoint, where the 'fromP2pListFilter' function processes the user-controlled 'page' parameter. This parameter is handled using 'sprintf' and written into a fixed-size buffer without proper length validation. As the buffer can hold only 256 bytes, exceeding this limit can overwrite adjacent memory, potentially leading to application crashes, memory corruption, or arbitrary code execution. The vulnerability poses significant risks to the device's stability, data confidentiality, and overall 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 execution to shellcode, potentially giving the attacker full control over the device. The vulnerability also carries a risk of information leakage, exposing sensitive data from the device's memory.

Reproduction

The vulnerability can be reproduced by sending a POST request to the '/goform/P2pListFilter' endpoint with an oversized 'page' parameter. This can be done using a Python script that automates the process by sending the request with the payload containing the excessive data.

Added: Oct 27, 2025, 1:23 PM
Updated: Oct 27, 2025, 1:23 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
7.5
exploitability
6.0
remediation
0.0
relevance
0.8
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.