CVE Catalog

CVE-2026-10634

MediumCVSS 4.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.27%

20th percentile - higher than 20% of all known CVEs

Summary

A use-after-free vulnerability exists in Zephyr's native TCP stack (TCP2) in the net_tcp_foreach() function. The function releases the tcp_lock while invoking a per-connection callback, allowing a concurrent thread to free the cached next connection. When the iterator resumes, it dereferences freed slab memory, potentially causing a system crash (denial of service) or, if the memory is reused, allowing an attacker-influenced object to be processed (information disclosure).

Risk Assessment

An attacker can remotely trigger a system crash via normal TCP traffic (e.g., closing or resetting a connection), leading to denial of service. Under favorable conditions, information disclosure may also occur due to manipulation of a reallocated object.

Recommendation

Immediately update Zephyr RTOS to a version containing the fix (beyond v4.4.0). If an update is not possible, restrict access to network interfaces and monitor TCP traffic for anomalies.

Other vulnerabilities in Zephyr

See all
Original NVD description (English source)

Zephyr's native TCP stack iterates the global connection list in net_tcp_foreach() (subsys/net/ip/tcp.c) using the SYS_SLIST_FOR_EACH_CONTAINER_SAFE macro, which caches a pointer to the next list node. Prior to this fix the function released tcp_lock while invoking the per-connection callback and re-acquired it afterwards. During that window a concurrent tcp_conn_release(), running on the dedicated TCP work-queue thread when a connection's reference count drops to zero (e.g. a remote peer closing or resetting the connection), can remove and k_mem_slab_free() the cached next connection. When the iterator advances it dereferences the freed (and possibly reallocated) slab memory — a use-after-free that can crash the system (denial of service) and, if the slot has been reused, cause the callback to operate on an attacker-influenced object (potential information disclosure or further fault). net_tcp_foreach() is reached in production via the net conn network shell command and via net_tcp_close_all_for_iface() on interface-down; the freeing side is driven by ordinary TCP traffic. The fix moves the connection/context teardown in tcp_conn_release() inside the tcp_lock critical section and keeps tcp_lock held across the callback in net_tcp_foreach(). The defect was introduced with the modern (TCP2) stack in 2020 and affects releases up to and including v4.4.0.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS