CVE intelligence and bounded remediation
CVE-2026-10638 — subsys/net/ip/icmpv6.c reads the network interface from a net_pkt after that packet has been handed to net_try_send_data()
subsys/net/ip/icmpv6.c reads the network interface from a net_pkt after that packet has been handed to net_try_send_data(). In icmpv6_handle_echo_request() and net_icmpv6_send_error(), the post-send statistics update calls net_pkt_iface(reply)/net_pkt_iface(pkt) on the just-sent packet. The send path (net_try_send_data -> net_if_tx) unreferences and may free the packet back to its memory slab before returning — synchronously in the RX thread when no TX queue is configured (CONFIG_NET_TC_TX_COUNT == 0), and asynchronously the driver/L2 may already have freed it otherwise. net_pkt_iface() therefore dereferences a freed (and possibly reused) net_pkt; with CONFIG_NET_STATISTICS_PER_INTERFACE the stale iface pointer is further dereferenced and written through (iface->stats.icmp.sent++), turning the use-after-free read into a write through an attacker-influenceable pointer. The core stack already documents this hazard in net_core.c ("do not use pkt after that call") and caches iface before sending; the ICMPv6 callers did not. An unauthenticated remote attacker triggers the flaw simply by sending an ICMPv6 Echo Request (ping) or an IPv6 packet that elicits an ICMPv6 error (unknown next h…
- Severity
- High
- CVSS
- 7.5 (3.1)
- Published
- 2026-06-16
- CISA KEV
- Not currently listed
- Ecosystem
- operating-system
- Weaknesses
- CWE-416
Affected products
- zephyrproject / zephyr
Matched remediation archetype
Use-after-free, double free, and expired resource use
This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.
Check exposure
- Trace ownership, references, callbacks, asynchronous tasks, and teardown paths around the affected object or resource.
- Identify reachable inputs and timing or state transitions that can release the object while references remain.
- Confirm affected builds, allocators, feature flags, architectures, and process privileges.
Remediate safely
- Apply the maintained ownership or lifetime fix and rebuild all artifacts containing the affected native code.
- Use explicit ownership, safe reference management, cancellation and join semantics, and idempotent teardown.
- Add deterministic lifetime tests plus isolated sanitizer and concurrency coverage for shutdown and error paths.
Authoritative sources
Complete CVE record and remediation plan
The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.