CVE-2026-11504
Description
Tenda CX12L firmware V16.03.53.12 has a stack-based buffer overflow in the Wi-Fi schedule configuration endpoint, allowing remote attackers to cause a DoS or potentially execute code.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Tenda CX12L firmware V16.03.53.12 has a stack-based buffer overflow in the Wi-Fi schedule configuration endpoint, allowing remote attackers to cause a DoS or potentially execute code.
Vulnerability
A stack-based buffer overflow vulnerability exists in the Wi-Fi Schedule Configuration Endpoint, specifically in the setSchedWifi function within the /goform/openSchedWifi file. The vulnerability arises from the use of the unsafe strcpy function to copy user-controlled schedStartTime and schedEndTime parameters into a fixed-size buffer without proper length validation. This affects Tenda CX12L firmware version V16.03.53.12 [1].
Exploitation
An attacker can exploit this vulnerability remotely by manipulating the schedStartTime or schedEndTime arguments passed to the /goform/openSchedWifi endpoint. By providing excessively long strings for these parameters, the attacker can overflow the allocated buffer, leading to memory corruption. The exploit is publicly available [1].
Impact
Successful exploitation of this vulnerability can lead to a Denial of Service (DoS) by crashing the device. Furthermore, due to the buffer overflow, there is a potential for arbitrary code execution, allowing an attacker to gain control over the affected device [1].
Mitigation
No patched version or specific mitigation details have been disclosed in the available references. The vendor's website is provided for further information [2].
AI Insight generated on Jun 8, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
0No patches discovered yet.
Vulnerability mechanics
Root cause
"The vulnerability stems from unsafe memory operations and lack of bounds checking when processing Wi-Fi scheduling times [ref_id=1]."
Attack vector
An attacker can remotely initiate an attack by manipulating the `schedStartTime` or `schedEndTime` arguments in a request to the `/goform/openSchedWifi` endpoint. The `setSchedWifi` function copies these user-controlled parameters into a fixed-size buffer using the `strcpy` function without any length validation. Providing an oversized string causes a stack-based buffer overflow, potentially leading to memory corruption, denial of service, or arbitrary code execution [ref_id=1].
Affected code
The vulnerability resides in the `setSchedWifi` function, located within the `/goform/openSchedWifi` file. This function retrieves `schedStartTime` and `schedEndTime` parameters and uses the unsafe `strcpy` function to copy them into a heap-allocated buffer of only 25 bytes, leading to a buffer overflow [ref_id=1].
What the fix does
The advisory recommends using safe functions like `strncpy` instead of `strcpy` to prevent buffer overflows. Additionally, it suggests implementing strict validation for time-related strings to ensure they adhere to expected formats and do not exceed buffer capacity. Proper buffer management, ensuring sufficient memory allocation for all valid inputs, is also advised [ref_id=1]. The patch does not show specific code changes, but these remediation steps would address the vulnerability.
Preconditions
- authThe attacker requires low privileges to access the affected endpoint [CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H].
- networkThe attack can be initiated remotely over the network [CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H].
Reproduction
The following Python script demonstrates how to trigger the overflow by sending a crafted schedStartTime. ```python import requests
url = "http://192.168.15.142/goform/openSchedWifi"
payload = { 'schedWifiEnable' : b'1', 'schedStartTime': b'1500'*10000, # Oversized payload to trigger overflow 'schedEndTime': b'1', 'timeType': b'1', 'day': b'1' }
print(f"[*] Sending payload to {url}...") try: res = requests.post(url, data=payload, timeout=5) print(f"[+] Request completed, Status Code: {res.status_code}") except requests.exceptions.Timeout: print("[+] Success: Target crashed (Timeout).") ``` [ref_id=1]
Generated on Jun 8, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6News mentions
0No linked articles in our index yet.