Skip to main content

Zephyr RTOS CVE-2026-10636

| EUVDEUVD-2026-37113 LOW
Use After Free (CWE-416)
2026-06-16 zephyr
3.7
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send IGMP query to 224.0.0.1
  2. Delivery
    net_ipv4_igmp_input triggers igmp_send()
  3. Exploit
    net_send_data() releases final packet reference
  4. Execution
    L2 driver returns net_pkt slab block to free list
  5. Persist
    igmp_send() dereferences freed pkt for interface pointer
  6. Impact
    Undefined 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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Zephyr 2.6.0 <4.5.0

Affected Packages

euvd zephyr fix: 4.5.0

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

Vendor (zephyr) PRIMARY LOW
NVD 3.7 LOW
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI 3.7 LOW

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.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (zephyr).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

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

EPSS Score
0.3%
Top 84% exploitable
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

18
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +18
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

More in Zephyr

View all
CVE-2023-4260 CRITICAL POC
10.0 Sep 27

Potential off-by-one buffer overflow vulnerability in the Zephyr fuse file system. Rated critical severity (CVSS 10.0),

CVE-2026-1678 CRITICAL POC
9.8 Mar 05

An out-of-bounds write in the Zephyr RTOS DNS resolver (dns_unpack_name()) lets a crafted DNS response corrupt memory on

CVE-2023-5055 CRITICAL POC
9.8 Nov 21

Possible variant of CVE-2021-3434 in function le_ecred_reconf_req. Rated critical severity (CVSS 9.8), this vulnerabilit

CVE-2023-4257 CRITICAL POC
9.8 Oct 13

Unchecked user input length in /subsys/net/l2/wifi/wifi_shell.c can cause buffer overflows. Rated critical severity (CVS

CVE-2023-3725 CRITICAL POC
9.8 Oct 06

Potential buffer overflow vulnerability in the Zephyr CAN bus subsystem. Rated critical severity (CVSS 9.8), this vulner

CVE-2021-3323 CRITICAL POC
9.8 Oct 12

Integer Underflow in 6LoWPAN IPHC Header Uncompression in Zephyr. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2021-3625 CRITICAL POC
9.8 Oct 05

Buffer overflow in Zephyr USB DFU DNLOAD. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable

CVE-2021-3319 CRITICAL POC
9.8 Oct 05

DOS: Incorrect 802154 Frame Validation for Omitted Source / Dest Addresses. Rated critical severity (CVSS 9.8), this vul

CVE-2018-1000800 CRITICAL POC
9.8 Sep 06

zephyr-rtos version 1.12.0 contains a NULL base pointer reference vulnerability in sys_ring_buf_put(), sys_ring_buf_get(

CVE-2023-4264 CRITICAL POC
9.6 Sep 27

Potential buffer overflow vulnerabilities n the Zephyr Bluetooth subsystem. Rated critical severity (CVSS 9.6), this vul

CVE-2024-1638 CRITICAL POC
9.1 Feb 19

The documentation specifies that the BT_GATT_PERM_READ_LESC and BT_GATT_PERM_WRITE_LESC defines for a Bluetooth characte

CVE-2023-5753 HIGH POC
8.8 Oct 25

Potential buffer overflows in the Bluetooth subsystem due to asserts being disabled in /subsys/bluetooth/host/hci_core.c

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy