CVE-2025-22869
📋 TL;DR
SSH servers implementing file transfer protocols (like SFTP/SCP) are vulnerable to a resource exhaustion denial-of-service attack. Malicious clients can initiate connections but complete key exchange slowly or not at all, causing servers to accumulate pending content in memory without transmission. This affects any SSH server using vulnerable implementations, particularly those written in Go.
💻 Affected Systems
- Go SSH server implementations
- Applications using golang.org/x/crypto/ssh package
- NetApp products using vulnerable Go SSH libraries
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Sustained attack could exhaust server memory, causing SSH service crashes and preventing legitimate SSH access, potentially requiring server reboots.
Likely Case
Degraded SSH performance and intermittent service disruptions for file transfer operations, with possible memory pressure affecting other services on the same host.
If Mitigated
Minimal impact with proper connection limits and monitoring; isolated to SSH file transfer functionality only.
🎯 Exploit Status
Attack requires no authentication and minimal technical skill - just initiating SSH connections with slow/no key exchange completion.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Go security update addressing GO-2025-3487 (check specific Go version)
Vendor Advisory: https://pkg.go.dev/vuln/GO-2025-3487
Restart Required: Yes
Instructions:
1. Update Go installation to patched version. 2. Rebuild and redeploy affected SSH server applications. 3. Restart SSH services.
🔧 Temporary Workarounds
Connection Rate Limiting
LinuxLimit simultaneous SSH connections and connection rate using firewall or SSH server configuration
# Example using iptables: iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP
Disable File Transfer Protocols
allIf not needed, disable SFTP/SCP subsystems in SSH server configuration
# In sshd_config: Subsystem sftp /usr/lib/openssh/sftp-server # Comment out or remove
# Match blocks to restrict file transfer access
🧯 If You Can't Patch
- Implement network-level controls: rate limit SSH connections at firewall/load balancer
- Monitor SSH server memory usage and restart service if abnormal patterns detected
🔍 How to Verify
Check if Vulnerable:
Check if application uses golang.org/x/crypto/ssh package and version matches affected range in GO-2025-3487
Check Version:
go version
Verify Fix Applied:
Verify Go version is updated and application rebuilt with patched libraries; test SSH file transfer functionality
📡 Detection & Monitoring
Log Indicators:
- Multiple SSH connections with incomplete authentication
- SSH connections staying in 'key exchange' state for extended periods
- Increased memory usage by SSH daemon
Network Indicators:
- Unusual number of SSH connections from single sources
- SSH connections with abnormal packet timing patterns
SIEM Query:
source="sshd" ("Failed password" OR "Invalid user") | stats count by src_ip | where count > threshold