Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend IGMP query to 224.0.0.1
-
Deliverynet_ipv4_igmp_input triggers igmp_send()
-
Exploitnet_send_data() releases final packet reference
-
ExecutionL2 driver returns net_pkt slab block to free list
-
Persistigmp_send() dereferences freed pkt for interface pointer
-
ImpactUndefined behavior / crash or corrupt stats write
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 | Remote trigger path: IPv4 IGMP must be enabled on the target interface (the default for any Zephyr device with multicast-capable networking); an attacker must be able to send IPv4 multicast packets to 224.0.0.1 on the same network segment (IGMP is link-local by default and not routed across subnets without a multicast router). Local trigger path: the vulnerability is also reachable via local multicast join, leave, or rejoin API calls, requiring local process execution. The most severe impact (a write to freed memory through the stats pointer) additionally requires CONFIG_NET_STATISTICS_PER_INTERFACE to be enabled in the build AND the asynchronous TX path (CONFIG_NET_TC_TX_COUNT > 0, a non-default setting); the default synchronous TX configuration (CONFIG_NET_TC_TX_COUNT=0) limits impact to a read of freed memory with a resulting sporadic undefined behavior crash. Exploitation is therefore bounded by network adjacency for the remote path, and the controllable-write scenario is further gated on a non-default build-time configuration. |
| Impact | The NVD CVSS 3.1 score of 3.7 (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L) correctly captures this as a low-severity, high-complexity vulnerability. The AC:H rating reflects the race condition dependency: in the default synchronous TX configuration the freed slab block is typically reused or corrupted only intermittently, making reproducible crashes difficult and controlled writes extremely unlikely. The network attack vector is accurate - IGMP membership queries to 224.0.0.1 reach igmp_send() without authentication. No EPSS score was provided in the input data, so exploitation probability cannot be independently quantified. The vulnerability is not listed in CISA KEV, and no public proof-of-concept exploit has been identified. Real-world risk is primarily sporadic crash or statistics corruption on embedded IoT and RTOS devices; a controlled write (which could theoretically elevate severity) requires the asynchronous TX path (CONFIG_NET_TC_TX_COUNT > 0) combined with precise concurrent slab reuse timing, making it impractical under most deployment conditions. The residual risk for defenders is the unpatched MLD analogue and the broad version range (v2.6.0-v4.4.0) covering all Zephyr releases over approximately four years. |
| Exploit ScenarioDerived | An attacker on the same IPv4 multicast domain sends a crafted IGMP General Membership Query addressed to 224.0.0.1, which causes the Zephyr network stack to invoke net_ipv4_igmp_input and then igmp_send() to generate a membership report. In the default synchronous TX configuration, net_send_data() releases the packet's last reference before returning, and the subsequent net_pkt_iface(pkt) call reads the freed slab block, producing undefined behavior that manifests as a sporadic crash or memory corruption of the statistics counters. No public proof-of-concept exploit exists; achieving a reliable, controlled write would additionally require operating under the asynchronous TX configuration and timing a concurrent slab allocation to overlap with the freed packet. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 16, 2026
Use-after-free in Zephyr's IPv4 IGMP implementation (igmp_send(), subsys/net/ip/igmp.c) allows a remote unauthenticated attacker to trigger undefined behavior and sporadic denial-of-service crashes on devices running Zephyr v2.6.0 through v4.4.0. The flaw arises because the network packet's interface pointer is re-read via net_pkt_iface(pkt) after net_send_data() may have already released the packet's last reference, returning the slab block to the free list. No public exploit code exists and the vulnerability is not in CISA KEV; however, the remote trigger path via IGMP membership queries (224.0.0.1) requires no authentication, and the analogous IPv6 MLD path (mld_send) carries the same unpatched pattern.
RemediationAI
The vendor-released fix is available as upstream commit 0223e5e3ec5ebc51e8d0328fc3e604fa43552f54 (https://github.com/zephyrproject-rtos/zephyr/commit/0223e5e3ec5ebc51e8d0328fc3e604fa43552f54); a specific tagged release version containing this fix was not identified in the provided data - integrators should confirm the fix version via the GitHub Security Advisory GHSA-fj6q-975v-65c9. The patch is a one-line cache of the interface pointer before net_send_data() is called and should apply cleanly to affected branches. If immediate patching is not feasible, compensating controls include: (1) disabling CONFIG_NET_STATISTICS_PER_INTERFACE in the Zephyr build configuration to eliminate the secondary dangling-pointer write, which reduces impact to a read-only UAF (trade-off: loss of per-interface statistics); (2) restricting IGMP traffic at network ingress to prevent the remote trigger path via 224.0.0.1 queries using an upstream router or firewall ACL (trade-off: may break multicast group management on the local segment); (3) switching to the asynchronous TX path (CONFIG_NET_TC_TX_COUNT > 0) is explicitly contra-indicated as a mitigation - it worsens the exploitability of the controlled write variant. Integrators should also audit subsys/net/ip/ipv6_mld.c for the analogous mld_send pattern and apply a corresponding fix.
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
Zephyr RTOS (CPE: cpe:2.3:a:zephyrproject:zephyr:*:*:*:*:*:*:*:*) implements IGMP in subsys/net/ip/igmp.c. The root cause is CWE-416 (Use After Free): igmp_send() passes a net_pkt struct to net_send_data(), which may synchronously hand the packet to the L2 driver and decrement its reference count to zero in the same call stack when CONFIG_NET_TC_TX_COUNT=0 (the default immediate-transmit configuration). After net_send_data() returns, the code re-reads the interface via net_pkt_iface(pkt) - a pointer field inside the now-freed slab block. When CONFIG_NET_STATISTICS_PER_INTERFACE is enabled, the dangling interface pointer is subsequently dereferenced to increment statistics counters, constituting a write to freed memory. The fix, committed in 0223e5e3ec5ebc51e8d0328fc3e604fa43552f54, caches the interface pointer as a local variable (struct net_if *iface = net_pkt_iface(pkt)) before net_send_data() is called, eliminating the post-free dereference. The parallel IPv6 MLD implementation (subsys/net/ip/ipv6_mld.c, mld_send) contains the identical pattern and was explicitly noted as unresolved in the advisory.
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:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
AV:N because IGMP queries arrive over the network; AC:H because reliable impact requires a race-condition timing dependency; PR:N because IGMP is unauthenticated; A:L for sporadic crash only.
Primary rating from Vendor (zephyr).
CVSS VectorNVD
DescriptionNVD
In Zephyr's IPv4 IGMP implementation, igmp_send() in subsys/net/ip/igmp.c read the network interface back out of the packet via net_pkt_iface(pkt) after the packet had been handed to net_send_data(). On the successful-send path the packet's last reference may already have been released by the L2 driver or by the network stack's TX handling (synchronously in the default NET_TC_TX_COUNT=0 immediate-transmit configuration), returning the net_pkt slab block to its free list. The subsequent net_pkt_iface(pkt) dereferences the freed packet, a use-after-free read; with CONFIG_NET_STATISTICS_PER_INTERFACE the resulting dangling interface pointer is further dereferenced for a statistics-counter write. The IGMP send path is reachable without authentication from inbound IPv4 IGMP membership queries addressed to 224.0.0.1 (net_ipv4_igmp_input - send_igmp_report/send_igmp_v3_report - igmp_send), as well as from local multicast join/leave/rejoin operations. Realistic impact is undefined behavior and potential denial of service (sporadic crash or stats corruption); a controllable write requires the asynchronous TX path plus a concurrent slab reuse. The flaw was introduced with IGMPv2 support and affects releases from v2.6.0 through v4.4.0. The fix caches the interface pointer before sending. Note the analogous IPv6 MLD path (mld_send in subsys/net/ip/ipv6_mld.c) retains the same unfixed pattern.
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.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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-37113
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB