CVE-2024-21846
Executive Summary
CVE-2024-21846 describes an unauthenticated denial-of-service (DoS) vulnerability in an embedded web management interface accessible via command.cgi. An attacker can reset the target device's board and cease transmitter operations by sending a crafted GET request, bypassing authentication entirely. The flaw is rated Medium severity with a CVSS score of 5.3. The affected vendor and product remain unidentified, though the "transmitter operations" language strongly suggests embedded broadcast hardware, telemetry devices, or industrial radio equipment deploying a CGI-based management layer. Successful exploitation results in service disruption, making this vulnerability a viable vector for targeted or opportunistic DoS 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
Technical Analysis
The vulnerability resides in the command.cgi gateway endpoint. NVD describes the core issue as an unauthenticated attacker being able to "reset the board and stop transmitter operations" via a specially-crafted GET request. This points to a classic command-parameter injection or a direct unauthenticated function-call within a CGI application, rather than a memory-corruption flaw.
Attack Surface and Mechanism:
- Authentication Bypass in CGI: The
command.cgiscript does not validate the session or authenticate the requesting entity. Any HTTP GET request to this endpoint is processed as valid. This suggests the CGI binary/script itself lacks proper authorization checks, likely due to developer oversight or reliance on a reverse proxy that was misconfigured or omitted. - Parameter Injection / Direct Command Mapping: The crafted GET request likely includes query parameters directly mapped to internal functions, such as
?action=resetor?cmd=board_reset. The code path then executes a hardware-level reset instruction (viaioctl,/dev/device writes, orgpiomanipulation) or calls a watchdog timer reset function. - Impact on Transmitter: The "board reset" halts the main system-on-chip (SoC), which in turn powers down or stops the radio frequency (RF) transmitter module. This means the device no longer broadcasts, dropping all connected clients or disrupting the radio link it maintains.
- Network Vector: Since this is a GET request over HTTP, the attacker only needs layer-3 reachability to the device's web interface (typically TCP port 80, 443, or an alternate port like 8080). No credentials, no prior session, and no special payload beyond a crafted URL are required.
Code-Level Explanation (Representative Model):
If the device is a typical Linux embedded system with a CGI handler, the vulnerable code would resemble:
// command.cgi
int main() {
char *cmd = getenv("QUERY_STRING");
if (strstr(cmd, "action=reboot") != NULL) {
system("/sbin/reboot -f"); // No auth check
}
// ...
}
The attacker leverages this by sending: GET /command.cgi?action=reboot HTTP/1.1.
The CWE classification is UNKNOWN; however, based on the description, this aligns most closely with CWE-306: Missing Authentication for Critical Function or CWE-77: Command Injection, depending on whether the endpoint bypasses auth entirely or executes unsanitized input in a system call.
Exploitation Scenarios
The following attack chain details a step-by-step exploitation process for CVE-2024-21846. This assumes the target is an unpatched embedded device exposing command.cgi.
Step 1: Reconnaissance and Target Identification
- The attacker conducts an internet-wide scan (e.g., via Shodan, Censys, or masscan) looking for web interfaces on common industrial/transmitter device ports (80, 443, 8080, 8443).
- Dorks such as
http.html:"command.cgi"orhttp.body:"command.cgi"may reveal exposed devices. - Alternatively, targeted scanning of known vendor IP ranges for broadcast/telemetry hardware is performed using protocol-specific banners.
Step 2: Service Fingerprinting and Endpoint Discovery
- The attacker requests
GET /command.cgi HTTP/1.1with a benign parameter to observe the server response pattern. A valid HTTP 200 with an error message or blank page confirms the CGI exists and processes input. - The attacker enumerates possible parameters by analyzing the binary strings of
command.cgiif the firmware is downloadable (common in embedded devices), or by fuzzing with a list of likely parameters:cmd,action,op,reset,reboot,sys,board.
Step 3: Weaponization — Crafting the Malicious Request
- The final payload is a single crafted GET request. Example variations based on typical CGI implementations:
GET /command.cgi?action=reset&value=1 HTTP/1.1GET /command.cgi?cmd=board_reset HTTP/1.1GET /command.cgi?sys_reset=true HTTP/1.1
- These queries are sent unauthenticated from the attacker's machine. Tools like
curlor a simple Python script withrequestscan automate this.
Step 4: Payload Execution and Device Disruption
- The command.cgi handler receives the crafted query string, sees the reset instruction, and executes a hardware reset routine.
- The transmitter module immediately stops. All active sessions are dropped. The device reboots (possibly into a fail-safe mode), resulting in a DoS.
Step 5: Post-Exploitation Impact and Persistence
- Impact: Complete loss of the radio/telemetry link. If this is a critical utility (e.g., SCADA backhaul, emergency broadcast transmitter), downstream processes are impacted.
- Persistence: The DoS is not persistent unless the attacker repeats the request or exploits additional vulnerabilities to brick the device. If the device has an auto-reset watchdog, it may recover after a few minutes, prompting the attacker to perform periodic re-exploitation (e.g., via an SSH-botnet C2 scheduler) to maintain the DoS.
- In a campaign scenario, the attacker could use this vulnerability to knock out transmitters before a physical attack or to disrupt communications during a ransomware event.
Impact Assessment
| Aspect | Detail |
|---|---|
| CVSS Score | 5.3 (Medium) — Vector unknown, but based on the NVD description, a representative vector is CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L (Network, Low complexity, No privileges, No user interaction, Unchanged scope, High availability impact if tuned appropriately). |
| Confidentiality Impact | None / N/A |
| Integrity Impact | None / N/A |
| Availability Impact | High — The device and transmitter go offline. |
| Attack Complexity | Low — The crafted GET request is trivial to produce. |
| Privileges Required | None — Unauthenticated. |
| Blast Radius | Potentially large for the vendor's installed base. Any internet-facing admin interface is at risk. For broadcast/telemetry hardware, ICS/SCADA environments that expose this port internally are also vulnerable. |
Business Impact:
- Operational Disruption: A single request can take down a transmitter, halting radio broadcasts, telemetry data flows, or point-to-point backhaul links.
- Availability SLA Breach: Organizations with mandated uptime (e.g., public safety, broadcasters, utilities) will face penalties and loss of trust.
- Supply Chain Risk: If this is a component sold within a larger product (e.g., a radio modem inside a base station), the parent product is affected, requiring cascading patch updates for integrators.
Blast Radius Summary:
- Affected platforms: Unknown specific vendor, but likely includes embedded network/radio devices with a Linux kernel.
- Affected versions: Unknown — no explicit version range provided by JSON data. Assume all firmware versions up to and including the current release are vulnerable unless a patch is confirmed.
- Attack vector: Remote/Network (Layer 3/4 reachability) over HTTP.
Detection Guidance
Sigma Rule
title: CVE-2024-21846 - Unauthenticated Board Reset via command.cgi GET Request
id: 3a7d4e91-8f8b-4a2c-9e6b-1f0c9d2a7e52
status: experimental
description: Detects crafted GET requests to command.cgi containing reset/reboot parameters, indicating CVE-2024-21846 exploitation attempt.
author: Valters IT Research Team
date: 2024/05/20
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains:
- 'command.cgi'
- 'action=reset'
- 'action=reboot'
- 'cmd=board_reset'
- 'action=shutdown'
condition: selection
falsepositives:
- Legitimate administrative reboots if the device's admin portal uses the same CGI without authentication (unlikely for production).
level: high
YARA Rule
rule CVE_2024_21846_Command_CGI_Exploit {
meta:
author = "Valters IT Research"
description = "Detects HTTP payloads targeting the command.cgi reset vulnerability"
date = "2024-05-20"
cve = "CVE-2024-21846"
strings:
$cmd_cgi = "command.cgi" ascii wide
$reset_param = "reset=" ascii wide
$reboot_param = "reboot=" ascii wide
$action_param = "action=" ascii wide
$sys_param = "sys_reset" ascii wide
condition:
uint16(0) == 0x4854 and // "HT" for HTTP
any of ($cmd_cgi*) and
any of ($reset_param* or $reboot_param* or $action_param* or $sys_param*)
}
Suricata IDS Rule
alert http any any -> $HOME_NET any (msg:"CVE-2024-21846 - Unauthenticated command.cgi Board Reset Attempt"; flow:to_server,established; content:"command.cgi"; http_uri; content:"action=reset"; http_uri; nocase; content:"action=reboot"; http_uri; nocase; content:"cmd=board_reset"; http_uri; nocase; content:"command.cgi?action=shutdown"; http_uri; nocase; classtype:attempted-dos; sid:202421846; rev:1; metadata:cve CVE-2024-21846;)
Note: The above rule uses an OR logic via multiple content matches in the same rule; adjust with proper pcre if needed for various parameter names.
Elastic Detection
sequence by source.ip with maxspan=5m
[network where event.type == "http" and http.request.method == "GET" and url.path includes "command.cgi" and (
url.query includes "action=reset" or
url.query includes "action=reboot" or
url.query includes "cmd=board_reset" or
url.query includes "reset=true"
)]
Splunk SPL Query
index=web sourcetype="access_combined_wcookie"
| where like(uri_path, "%command.cgi%")
| search (uri_query="*action=reset*" OR uri_query="*action=reboot*" OR uri_query="*cmd=board_reset*" OR uri_query="*reset=true*")
| stats count by src_ip, uri_path, uri_query, user_agent, _time
| table _time, src_ip, uri_path, uri_query, user_agent, count
Wazuh OSSEC Rule
<group name="attack,web_attack,cve2024-21846,">
<rule id="100218" level="12">
<if_sid>31100</if_sid>
<match>command.cgi</match>
<regex>action=reset|action=reboot|cmd=board_reset|reset=true</regex>
<description>CVE-2024-21846: Unauthenticated board reset attempt detected via command.cgi</description>
<mitre>
<id>T1499</id>
</mitre>
<group>
<mitre>
<tactic>Impact</tactic>
<technique>Endpoint Denial of Service</technique>
</mitre>
</group>
<options>no_full_log</options>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 2/4 — CLAIMED (single source claims a patch exists, but this has not been independently confirmed). The JSON data shows PATCH_SOURCES: [] and VENDOR_FIX: N/A. Since the vendor is unknown, we cannot provide a direct download link, but the following steps apply once a patch is confirmed or the product is identified.
1) Immediate Mitigations (Defense-in-Depth):
- Network-Level Blocking: Apply strict access control lists (ACLs) or firewall rules to block external access to the web management interface (ports 80, 443, 8080) on the affected devices. Restrict access to only trusted administrative IPs via VPN or jump host.
- Web Application Firewall (WAF) Rule: If a reverse proxy/WAF is in front of the device, create a rule to block any HTTP GET request containing
command.cgiand parameters likereset,reboot,sys_reset, orshutdown. - Disable the CGI Interface: If operationally feasible, disable the
command.cgiendpoint entirely or restrict access to it via internal network segmentation. This can often be done by removing the script from the active web server configuration or setting the web server to deny access to the path. - Vendor Identification: The vendor and product are unknown. Contact your asset management team or hardware inventory to identify any devices with a web interface containing
command.cgi. Isolate these devices from the internet immediately.
2) Patch / Upgrade Steps:
- Identify the specific firmware release that fixes this issue once the vendor is confirmed. Monitor the vendor's security advisory page.
- If a new firmware version is published, follow the vendor's standard upgrade procedure (e.g., via the web UI or TFTP).
- After patch, verify that
command.cgino longer processes unauthenticated requests and that the endpoint requires a valid session token or authentication header.
3) Long-Term Hardening:
- Ensure all embedded devices are managed on an isolated management VLAN with strict firewall ingress/egress rules.
- Implement a robust patch management process for network and industrial devices, similar to standard IT assets. These devices are often ignored in patching cycles.
- If the product is critical, submit a request to the vendor or CNA for a signed advisory. If no patch is ever released, consider decommissioning the device or placing it behind a strict application-level proxy that blocks all but the most necessary requests.
- Apply the principle of least functionality — disable the web UI entirely if not required for daily operations, as the device must be administered via CLI or serial console instead.
References
- NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2024-21846 — Official NVD record containing the description and base metrics.
- MITRE CVE Record: https://www.cve.org/CVERecord?id=CVE-2024-21846 — Standard CVE listing.
- Vendor Advisory: Pending — No vendor advisory is available in the provided data. Any future advisory should be referenced here.
- CISA KEV: Not listed — As of this report, CISA has not added CVE-2024-21846 to the Known Exploited Vulnerabilities catalog, meaning no confirmed exploitation in the wild has been officially reported yet.
- CWE Reference: While the CWE is unknown for this specific CVE, related CWEs for context include CWE-306 (Missing Authentication for Critical Function) and CWE-77 (Improper Neutralization of Special Elements used in a Command). See https://cwe.mitre.org/data/definitions/306.html for guidance on similar flaws.
Threat Actor Activity: No known threat actor campaigns or exploit-in-the-wild evidence are publicly associated with this CVE at the time of writing. However, given the low complexity of the exploit, it is likely to be incorporated into botnet payloads (e.g., Mirai variants) targeting exposed embedded devices in the near term.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.