CVE-2025-50613
Executive Summary
CVE-2025-50613 is a critical buffer overflow vulnerability discovered in the Netis WF2880 router, specifically in firmware version 2.1.40207. The flaw resides in the FUN_00475e1c function within the cgitest.cgi binary. An attacker can exploit this by controlling the wds_key_wep parameter in a crafted HTTP request, leading to a buffer overflow that crashes the CGI process and results in a Denial of Service (DoS). No public exploit code or patch is currently available, and the vendor has not released a fix. The vulnerability is classified under CWE-120 (Buffer Copy without Checking Size of Input) and aligns with MITRE ATT&CK tactic T1499 (Endpoint Denial of Service).
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
CVSS Breakdown & Threat Level
The CVSS score is listed as 0.0, indicating insufficient data for a full vector. However, based on the nature of the vulnerability (network-accessible CGI, no authentication required for the parameter), a reasonable estimated vector would be:
- Attack Vector (AV): Network (N) – The CGI endpoint is accessible over the network.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed to send the payload.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Unchanged (U) – The vulnerable component is the only one affected.
- Confidentiality (C): None (N) – No data exposure.
- Integrity (I): None (N) – No data modification.
- Availability (A): High (H) – The crash causes a DoS.
Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Estimated Base Score: 7.5 (High)
Threat Level: High – The vulnerability is easily exploitable remotely without authentication, leading to service disruption.
Deep Dive & Mechanics
The vulnerability is a classic stack-based buffer overflow in the FUN_00475e1c function of cgitest.cgi. This function processes the wds_key_wep parameter from an HTTP POST request. The parameter is copied into a fixed-size stack buffer without proper bounds checking. By providing an overly long string for wds_key_wep, an attacker can overwrite adjacent stack memory, including the return address and other critical data.
Root Cause: The use of a vulnerable function (likely strcpy or sprintf without length limits) to copy user-supplied input into a stack buffer.
Attack Flow:
- The attacker sends an HTTP POST request to the router's CGI endpoint (e.g.,
http://<router-ip>/cgitest.cgi). - The request includes a
wds_key_wepparameter with a value exceeding the buffer size (e.g., 500+ bytes). - The
FUN_00475e1cfunction copies this value into a stack buffer, causing an overflow. - The overflow corrupts the stack, leading to a program crash (segmentation fault) and a Denial of Service.
Potential for RCE: While the description only mentions DoS, a buffer overflow of this nature could potentially be leveraged for Remote Code Execution (RCE) if the attacker can control the overwritten return address and inject shellcode. However, no public exploit demonstrates this.
Vulnerable vs. Patched Code
Since no patch is available, a comparison cannot be made. The vulnerable code likely resembles:
void FUN_00475e1c(char *wds_key_wep) {
char buffer[64];
strcpy(buffer, wds_key_wep); // Vulnerable: no bounds check
// ... rest of function
}
A patched version would use safe functions like strncpy or snprintf:
void FUN_00475e1c(char *wds_key_wep) {
char buffer[64];
strncpy(buffer, wds_key_wep, sizeof(buffer) - 1);
buffer[sizeof(buffer) - 1] = '\0';
// ... rest of function
}
Exploitation & Lab Setup
Red Team
Lab Setup:
- Target: Netis WF2880 router with firmware v2.1.40207.
- Attacker: Kali Linux machine on the same network.
- Tool:
curlor custom Python script.
Exploitation Steps:
- Identify the router's IP (e.g.,
192.168.1.1). - Craft a payload with a long
wds_key_wepvalue:curl -X POST http://192.168.1.1/cgitest.cgi \ -d "wds_key_wep=$(python3 -c 'print("A"*500)')" - The router's CGI process crashes, causing a DoS. The router may become unresponsive until rebooted.
Note: No public exploit code exists. The above is a proof-of-concept for DoS only.
Blue Team
Detection & Response:
- Monitor for HTTP POST requests to
/cgitest.cgiwith abnormally longwds_key_wepparameters. - Use network intrusion detection systems (NIDS) to alert on oversized payloads.
- Implement rate limiting on CGI endpoints.
- Regularly check for firmware updates from Netis.
Indicators of Compromise (IOCs)
- Network:
- HTTP POST requests to
/cgitest.cgiwithwds_key_wepparameter exceeding 100 bytes. - Source IPs sending multiple such requests in a short time.
- HTTP POST requests to
- System:
- Router logs showing crashes of
cgitest.cgiprocess. - Router becoming unresponsive or requiring reboot.
- Router logs showing crashes of
- File:
- No file-based IOCs as the attack is memory-based.
Detection Engineering
YARA Rule
rule CVE_2025_50613_Netis_WF2880_BOF {
meta:
description = "Detects buffer overflow attempts against Netis WF2880 cgitest.cgi"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-50613"
strings:
$payload = /wds_key_wep=[A-Za-z0-9%]{200,}/ nocase
condition:
$payload
}
Sigma Rule
title: Netis WF2880 cgitest.cgi Buffer Overflow Attempt
id: 8a3f2c1e-5b7d-4f9a-8c6e-2d1b3e4f5a6b
status: experimental
description: Detects HTTP POST requests with overly long wds_key_wep parameter targeting Netis WF2880 routers.
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/cgitest.cgi'
cs-uri-query|contains: 'wds_key_wep='
cs-uri-query|length: >= 200
condition: selection
falsepositives:
- Legitimate long WEP keys (unlikely)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-50613 Netis WF2880 cgitest.cgi Buffer Overflow Attempt"; flow:to_server; content:"POST"; http_method; content:"/cgitest.cgi"; http_uri; content:"wds_key_wep="; http_client_body; pcre:"/wds_key_wep=[A-Za-z0-9%]{200,}/Ri"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable Remote Management: If not required, disable remote access to the router's web interface.
- Network Segmentation: Place the router behind a firewall and restrict access to trusted IPs only.
- Monitor Logs: Enable logging and monitor for suspicious POST requests to
/cgitest.cgi.
Long-Term Fix:
- Vendor Patch: Await an official firmware update from Netis. Contact Netis support to report the vulnerability.
- Workaround: If patching is not possible, consider replacing the router with a more secure model.
Valters IT Signature: This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.