CVE-2025-32433

10.0 CRITICAL CISA KEV

📋 TL;DR

This CVE describes a critical vulnerability in Erlang/OTP's SSH server that allows unauthenticated remote code execution. Attackers can exploit a flaw in SSH protocol message handling to execute arbitrary commands without valid credentials. Systems running vulnerable Erlang/OTP versions with SSH server enabled are affected.

💻 Affected Systems

Products:
  • Erlang/OTP
Versions: All versions prior to OTP-27.3.3, OTP-26.2.5.11, and OTP-25.3.2.20
Operating Systems: All operating systems running Erlang/OTP
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with SSH server functionality enabled; not all Erlang applications use SSH.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise with attacker gaining root privileges, data exfiltration, ransomware deployment, and persistent backdoor installation.

🟠

Likely Case

Unauthorized access leading to data theft, lateral movement within the network, and deployment of malware or cryptominers.

🟢

If Mitigated

Limited impact with proper network segmentation, but still potential for initial foothold in isolated segments.

🌐 Internet-Facing: HIGH - SSH servers exposed to the internet are directly exploitable without authentication.
🏢 Internal Only: MEDIUM - Internal SSH servers are still vulnerable but require network access; risk increases with lateral movement potential.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability requires no authentication and appears to be in protocol handling, making exploitation relatively straightforward for skilled attackers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: OTP-27.3.3, OTP-26.2.5.11, or OTP-25.3.2.20

Vendor Advisory: https://github.com/erlang/otp/security/advisories/GHSA-37cp-fgq5-7wc2

Restart Required: Yes

Instructions:

1. Identify Erlang/OTP version using 'erl -version'. 2. Download appropriate patched version from erlang.org. 3. Install following platform-specific instructions. 4. Restart all Erlang applications and SSH services.

🔧 Temporary Workarounds

Disable SSH Server

all

Completely disable SSH server functionality in Erlang/OTP applications

Modify application configuration to disable SSH daemon startup

Network Firewall Block

linux

Block SSH port access at network perimeter

iptables -A INPUT -p tcp --dport 22 -j DROP
ufw deny 22

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate vulnerable systems
  • Deploy intrusion detection systems to monitor for exploitation attempts

🔍 How to Verify

Check if Vulnerable:

Run 'erl -version' and check if version is below OTP-27.3.3, OTP-26.2.5.11, or OTP-25.3.2.20

Check Version:

erl -version

Verify Fix Applied:

Confirm version is OTP-27.3.3, OTP-26.2.5.11, or OTP-25.3.2.20 or higher using 'erl -version'

📡 Detection & Monitoring

Log Indicators:

  • Unusual SSH connection attempts from unexpected sources
  • Failed authentication attempts followed by successful connections
  • Erlang/OTP crash logs related to SSH handling

Network Indicators:

  • SSH traffic to Erlang applications from suspicious IPs
  • Unusual outbound connections from Erlang hosts post-SSH connection

SIEM Query:

source="ssh_logs" AND (event="authentication failure" OR event="connection established") AND dest_port=22 AND application="erlang"

🔗 References

📤 Share & Export