Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-10636

CVE-2026-10636: Zephyr IGMP Use-After-Free Vulnerability

CVE-2026-10636 is a use-after-free vulnerability in Zephyr's IPv4 IGMP implementation that can cause denial of service and undefined behavior. This post covers the technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-10636 Overview

CVE-2026-10636 is a use-after-free vulnerability [CWE-416] in the Zephyr real-time operating system's IPv4 Internet Group Management Protocol (IGMP) implementation. The flaw resides in igmp_send() within subsys/net/ip/igmp.c, which reads the network interface from a packet after the packet has been handed to net_send_data(). On the successful-send path, the packet's last reference may already have been released, returning the net_pkt slab block to its free list. The subsequent net_pkt_iface(pkt) call then dereferences freed memory. The vulnerability was introduced with IGMPv2 support and affects Zephyr releases from v2.6.0 through v4.4.0.

Critical Impact

Unauthenticated attackers can trigger the use-after-free remotely by sending crafted IPv4 IGMP membership queries to multicast address 224.0.0.1, leading to undefined behavior or denial of service.

Affected Products

  • Zephyr RTOS v2.6.0 through v4.4.0
  • IPv4 IGMP subsystem (subsys/net/ip/igmp.c)
  • Devices built with default NET_TC_TX_COUNT=0 immediate-transmit configuration

Discovery Timeline

  • 2026-06-16 - CVE-2026-10636 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2026-10636

Vulnerability Analysis

The vulnerability stems from improper lifetime management of a net_pkt structure in Zephyr's IGMP send path. The function igmp_send() calls net_send_data(pkt) to transmit an IGMP report, then accesses net_pkt_iface(pkt) to update per-interface statistics when CONFIG_NET_STATISTICS_PER_INTERFACE is enabled. By the time the statistics access executes, the L2 driver or the network stack's TX handling may have already released the final reference to the packet. In the default NET_TC_TX_COUNT=0 configuration, transmission happens synchronously on the caller's thread, making the release deterministic on the successful-send path.

The dereference of a freed net_pkt slab block produces a use-after-free read. When CONFIG_NET_STATISTICS_PER_INTERFACE is set, the dangling interface pointer extracted from the freed packet is itself dereferenced for a statistics-counter write, compounding the issue. The analogous IPv6 Multicast Listener Discovery (MLD) path in mld_send() within subsys/net/ip/ipv6_mld.c retains the same unfixed pattern.

Root Cause

The root cause is reading object state through a pointer whose ownership has already been transferred. igmp_send() assumes the packet remains valid after net_send_data() returns, but the Zephyr networking stack treats the call as a handoff that may release the slab block immediately.

Attack Vector

The IGMP send path is reachable without authentication from inbound IPv4 IGMP membership queries addressed to 224.0.0.1. The processing chain net_ipv4_igmp_inputsend_igmp_report / send_igmp_v3_reportigmp_send exposes the vulnerable code to any host on the local network segment. Local multicast join, leave, and rejoin operations reach the same path. Realistic impact is undefined behavior and denial of service through sporadic crashes or statistics corruption. A controllable memory write would require the asynchronous TX path combined with concurrent slab reuse.

Detection Methods for CVE-2026-10636

Indicators of Compromise

  • Unexpected restarts or watchdog resets on Zephyr-based devices following bursts of inbound IGMP traffic to 224.0.0.1
  • Corrupted or implausible values in per-interface network statistics counters
  • Crash logs referencing igmp_send, net_pkt_iface, or net_send_data in the call stack

Detection Strategies

  • Inspect deployed firmware for Zephyr versions between v2.6.0 and v4.4.0 inclusive, and verify whether CONFIG_NET_STATISTICS_PER_INTERFACE is enabled
  • Audit network captures on segments containing Zephyr devices for anomalous volumes of IGMP membership queries targeting 224.0.0.1
  • Enable address sanitizer or equivalent memory diagnostics during firmware testing to surface use-after-free reads in igmp_send()

Monitoring Recommendations

  • Monitor Zephyr device telemetry for crash dumps and panic events correlated with multicast network activity
  • Aggregate device uptime metrics in a centralized log platform and alert on regressions across IGMP-capable fleets
  • Track upstream switch IGMP querier traffic patterns to detect abnormal query rates targeting embedded subnets

How to Mitigate CVE-2026-10636

Immediate Actions Required

  • Inventory all Zephyr-based devices and identify firmware images built on versions v2.6.0 through v4.4.0
  • Apply the upstream fix that caches the interface pointer before calling net_send_data(), as committed in Zephyr commit 0223e5e3
  • Review the analogous IPv6 MLD send path in subsys/net/ip/ipv6_mld.c and apply equivalent caching, as the pattern remains unfixed there

Patch Information

The fix caches net_pkt_iface(pkt) into a local variable before invoking net_send_data(pkt), eliminating the post-send dereference. Refer to the GitHub Security Advisory GHSA-fj6q-975v-65c9 for upstream guidance and the commit applying the fix.

Workarounds

  • Disable CONFIG_NET_STATISTICS_PER_INTERFACE in Zephyr build configuration to remove the dangling interface pointer write, reducing the impact to a use-after-free read only
  • Restrict IGMP traffic at upstream switches using IGMP snooping policies that limit untrusted hosts from issuing membership queries
  • Segment Zephyr devices onto isolated VLANs where only trusted multicast routers can act as IGMP queriers

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.