Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain WiFi adjacency to target
-
DeliverySend ARP or ICMP requests to target
-
ExploitInduce outbound transmissions through siwx91x_send()
-
ExecutionRace concurrent pool activity to win double-free
-
PersistCorrupt live packet refcount in net_pkt pool
-
ImpactCrash or hang networking stack
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The target must be running Zephyr RTOS with the SiWx917 WiFi driver built with CONFIG_WIFI_SILABS_SIWX91X_NET_STACK_NATIVE enabled - this is the default configuration for SiWx917 board targets, so no non-default operator configuration is required. The attacker must be on the same WiFi Layer 2 segment as the target (WiFi association to the same BSS or access point) to send packets that elicit outbound transmissions; remote internet-based attackers cannot reach this code path. Valid trigger mechanisms include ARP requests (eliciting ARP replies), ICMP echo requests (eliciting echo replies), and TCP SYN packets (eliciting SYN-ACK responses). Successful pool corruption additionally depends on winning a timing race between concurrent network pool activity and the double-free, corresponding to CVSS AC:H - reliable triggering is non-trivial and not deterministic per packet. Exploitation is bounded by: (1) mandatory WiFi Layer 2 adjacency, (2) the race condition dependency, and (3) the niche embedded deployment footprint of Zephyr/SiWx917 hardware. |
| Impact | The CVSS 3.1 score of 6.4 (Medium) with AV:A/AC:H accurately reflects the exploitation constraints: the attacker must share Layer 2 WiFi adjacency with the target and must also win a timing race against concurrent pool activity, which together suppress the practical exploitation rate below what the availability impact alone might suggest. No EPSS score was provided in the intelligence inputs; absent that signal, the high-complexity race condition and the narrow embedded hardware deployment context indicate targeted rather than opportunistic exploitation risk. No KEV listing and no public exploit code have been identified at time of analysis. That said, the operational severity for affected deployments is real: availability loss in IoT edge nodes, industrial controllers, or networked embedded systems running Zephyr with SiWx917 hardware can be mission-critical, and the vulnerability is active in the default build configuration requiring no operator misconfiguration to be present. The secondary C:L and I:L signals represent race-dependent possibilities - pool content disclosure or in-flight packet integrity corruption - that are plausible but not guaranteed per transmission. The patch is a trivial one-line change with minimal regression risk, making the remediation cost extremely low relative to the residual exposure. |
| Exploit ScenarioDerived | An attacker authenticated to the same WiFi access point as a Zephyr/SiWx917 embedded device sends a stream of ARP requests and ICMP echo requests to the device's IP address, inducing repeated outbound ARP replies and ICMP replies. Each reply traverses the siwx91x_send() double-free path; when a concurrent receive interrupt recycles the freed net_pkt slab slot between the driver's unref and the caller's unref, the second unref corrupts a live packet's reference count, ultimately hanging or crashing the networking stack. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 31, 2026
Use-after-free and double-free memory corruption in the Silicon Labs SiWx917 WiFi driver for Zephyr RTOS enables an adjacent unauthenticated attacker to corrupt the kernel networking buffer pool and crash the device. The driver's siwx91x_send() incorrectly releases a net_pkt owned by the L2 ethernet stack, causing use-after-free reads and a double-free when the caller accesses and unrefs the same packet; under concurrent network load, the trailing unref corrupts a live packet's reference count drawn from the recycled slab slot. No public exploit has been identified at time of analysis, but the vulnerable code path is compiled in by default and is exercisable via ordinary WiFi traffic that any adjacent-network peer can induce.
RemediationAI
The upstream fix is available as commit 680a351c7dd0ba46eb67d9c0e7165d901a7bd3d1 at https://github.com/zephyrproject-rtos/zephyr/commit/680a351c7dd0ba46eb67d9c0e7165d901a7bd3d1, which removes the single erroneous net_pkt_unref(pkt) line from siwx91x_send(). Patch is available per vendor advisory; the first tagged Zephyr release incorporating this fix is not independently confirmed from the provided data - consult GHSA-f9qq-jv4w-pqxg for the precise patched release version before deploying. Product teams building firmware on Zephyr with SiWx917 hardware should cherry-pick this commit or rebase to a confirmed patched SDK version. As a compensating control prior to patching, setting CONFIG_WIFI_SILABS_SIWX91X_NET_STACK_NATIVE=n in the build configuration disables the vulnerable code path entirely, though this may require switching to an alternative network stack integration and should be validated against application requirements. Network-level isolation - placing SiWx917-based devices on dedicated WiFi segments or VLANs with strict Layer 2 access controls - reduces the attacker's ability to achieve the required WiFi adjacency and limits the pool of peers that can induce triggering transmissions.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is the Zephyr RTOS WiFi driver for the Silicon Labs SiWx917 SoC (CPE: cpe:2.3:a:zephyrproject:zephyr:*:*:*:*:*:*:*:*), specifically siwx91x_send() in drivers/wifi/siwx91x/siwx91x_wifi.c. Zephyr's TX ownership model grants the driver only a borrowed reference to a net_pkt whose lifecycle is managed by the L2 ethernet layer in subsys/net/l2/ethernet/ethernet.c; the driver's sole responsibility is to copy frame bytes into a local net_buf for hardware DMA. The defect (CWE-416: Use After Free) is a misplaced net_pkt_unref(pkt) call in the driver that prematurely returns the borrowed packet to the shared slab pool. The caller, ethernet_send(), then performs post-transmit operations on the freed memory - invoking net_pkt_get_len(pkt) and updating TX statistics - constituting use-after-free reads. Its subsequent net_pkt_unref(pkt) is a double-free. When concurrent RX or TX activity recycles the freed slab slot between the two unrefs, the second unref decrements the reference count of a different, live packet, freeing it into the pool while it is still in use and corrupting the net_pkt pool shared across both receive and transmit paths. The fix confirmed by the upstream commit is a one-line removal of the erroneous unref; the driver's receive-path unref, which legitimately frees a driver-allocated packet, is unaffected.
Know when Zephyr gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:A/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H
Adjacent vector matches WiFi-only Layer 2 reachability; race condition dependency warrants AC:H; inducing transmissions requires no privileges or user interaction.
Primary rating from Vendor (zephyr).
CVSS VectorVendor: zephyr
DescriptionCVE.org
The Silicon Labs SiWx917 WiFi driver's transmit callback siwx91x_send() in drivers/wifi/siwx91x/siwx91x_wifi.c frees a network packet it does not own. In the Zephyr TX path the net_pkt is owned by the L2/networking stack; the driver only borrows it to copy the frame bytes into a local net_buf. Before the fix, after transmitting, siwx91x_send() additionally called net_pkt_unref(pkt) on the caller-owned packet, dropping its last reference and returning it to the shared packet pool prematurely. This code path is compiled in by default (CONFIG_WIFI_SILABS_SIWX91X_NET_STACK_NATIVE).
The caller, ethernet_send() in subsys/net/l2/ethernet/ethernet.c, keeps using the packet after the driver returns: it reads net_pkt_get_len(pkt), updates TX statistics, and then performs its own net_pkt_unref(pkt). Because the driver already released the packet, these are use-after-free reads followed by a second unref (a double free). When concurrent network activity recycles the freed slab slot between the two unrefs, the trailing unref decrements a different, live packet's reference count and frees it, corrupting the net_pkt pool shared by both the receive and transmit paths.
The defect is exercised by ordinary transmission over the native-stack SiWx917 WiFi interface, and an adjacent attacker on the same WiFi network can induce transmissions (for example ARP or ICMP echo replies, or TCP handshakes) to drive the path. The primary observable impact is loss of availability (transmit hangs and crashes from pool corruption), with race-dependent memory corruption of the kernel networking buffer pool. The fix removes the erroneous net_pkt_unref(pkt) from siwx91x_send(); the driver's receive-path unref, which correctly frees a packet the driver itself allocated, is unaffected.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Potential off-by-one buffer overflow vulnerability in the Zephyr fuse file system. Rated critical severity (CVSS 10.0),
An out-of-bounds write in the Zephyr RTOS DNS resolver (dns_unpack_name()) lets a crafted DNS response corrupt memory on
Possible variant of CVE-2021-3434 in function le_ecred_reconf_req. Rated critical severity (CVSS 9.8), this vulnerabilit
Unchecked user input length in /subsys/net/l2/wifi/wifi_shell.c can cause buffer overflows. Rated critical severity (CVS
Potential buffer overflow vulnerability in the Zephyr CAN bus subsystem. Rated critical severity (CVSS 9.8), this vulner
Integer Underflow in 6LoWPAN IPHC Header Uncompression in Zephyr. Rated critical severity (CVSS 9.8), this vulnerability
Buffer overflow in Zephyr USB DFU DNLOAD. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable
DOS: Incorrect 802154 Frame Validation for Omitted Source / Dest Addresses. Rated critical severity (CVSS 9.8), this vul
zephyr-rtos version 1.12.0 contains a NULL base pointer reference vulnerability in sys_ring_buf_put(), sys_ring_buf_get(
Potential buffer overflow vulnerabilities n the Zephyr Bluetooth subsystem. Rated critical severity (CVSS 9.6), this vul
The documentation specifies that the BT_GATT_PERM_READ_LESC and BT_GATT_PERM_WRITE_LESC defines for a Bluetooth characte
Potential buffer overflows in the Bluetooth subsystem due to asserts being disabled in /subsys/bluetooth/host/hci_core.c
EUVD-2026-68658
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB