CVE-2021-39244

8.8 HIGH

📋 TL;DR

This vulnerability allows authenticated attackers to execute arbitrary commands on affected Altus networking devices via parameter injection in the getlogs.cgi tcpdump feature. Attackers can achieve remote code execution with the privileges of the web service. This affects multiple Altus Nexto, Nexto Xpress, and Hadron Xtorm device models running specific vulnerable firmware versions.

💻 Affected Systems

Products:
  • Altus Nexto NX3003
  • Altus Nexto NX3004
  • Altus Nexto NX3005
  • Altus Nexto NX3010
  • Altus Nexto NX3020
  • Altus Nexto NX3030
  • Altus Nexto NX5100
  • Altus Nexto NX5101
  • Altus Nexto NX5110
  • Altus Nexto NX5210
  • Altus Nexto Xpress XP300
  • Altus Nexto Xpress XP315
  • Altus Nexto Xpress XP325
  • Altus Nexto Xpress XP340
  • Altus Hadron Xtorm HX3040
Versions: Specific firmware versions listed in CVE description
Operating Systems: Embedded Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authentication to exploit, but default credentials may be present on some devices.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full device compromise leading to complete control of the networking device, lateral movement into connected networks, data exfiltration, and persistent backdoor installation.

🟠

Likely Case

Unauthorized command execution allowing attackers to modify device configurations, intercept network traffic, or use the device as a pivot point for further attacks.

🟢

If Mitigated

Limited impact if proper network segmentation, authentication controls, and monitoring are in place to detect and block exploitation attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation details are publicly available in security advisories. The vulnerability is in a CGI script that improperly handles user input in tcpdump parameters.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check with vendor for specific patched versions

Vendor Advisory: https://www.altus.com.br/

Restart Required: Yes

Instructions:

1. Contact Altus support for firmware updates. 2. Download appropriate firmware for your device model. 3. Backup device configuration. 4. Apply firmware update via web interface or CLI. 5. Verify update completed successfully. 6. Restart device if required.

🔧 Temporary Workarounds

Disable getlogs.cgi access

linux

Restrict or disable access to the vulnerable CGI script if not needed

# Modify web server configuration to block access to getlogs.cgi
# Example for Apache: <Location "/cgi-bin/getlogs.cgi">
    Deny from all
</Location>

Network segmentation

all

Isolate affected devices from untrusted networks

# Configure firewall rules to restrict access to device management interfaces
# Example iptables rule: iptables -A INPUT -p tcp --dport 80 -s trusted_network -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

🧯 If You Can't Patch

  • Implement strict access controls to limit who can authenticate to device management interfaces
  • Monitor for suspicious command execution attempts and unauthorized configuration changes

🔍 How to Verify

Check if Vulnerable:

Check device firmware version against affected versions list. Attempt to access getlogs.cgi with authentication and test parameter injection.

Check Version:

# Check firmware version via web interface or CLI
# Typically available in device status or system information pages

Verify Fix Applied:

Verify firmware version has been updated to a version not listed in the CVE. Test that command injection via getlogs.cgi parameters is no longer possible.

📡 Detection & Monitoring

Log Indicators:

  • Unusual command execution via getlogs.cgi
  • Multiple failed authentication attempts followed by successful login and getlogs.cgi access
  • Suspicious tcpdump parameter values in web logs

Network Indicators:

  • Unusual outbound connections from networking devices
  • Traffic patterns suggesting device compromise

SIEM Query:

source="device_logs" AND (uri="/cgi-bin/getlogs.cgi" AND (param="tcpdump" OR param="command"))

🔗 References

📤 Share & Export