Katalog CVE

CVE-2026-10637

ŚrednieCVSS 5.9
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.30%

Percentyl 22 - wyżej niż 22% wszystkich znanych CVE

Streszczenie

W stosie sieciowym Zephyr w funkcji mld_send() odczytano interfejs sieciowy z pakietu po jego zwolnieniu przez sterownik L2. Może to prowadzić do odczytu zwolnionej pamięci, a w przypadku współbieżnej realokacji do wywołania pustego wskaźnika (NULL-pointer dereference) lub uszkodzenia pamięci.

Ocena ryzyka

Atakujący z lokalnej sieci może bez uwierzytelnienia wywołać awarię stosu sieciowego (odmowa usługi) poprzez wysłanie zapytania MLDv2 General Query. Istnieje również ograniczone ryzyko uszkodzenia pamięci.

Rekomendacja

Należy zastosować poprawkę, która zapisuje wskaźnik interfejsu przed wysłaniem pakietu i nie odwołuje się do pakietu po wywołaniu net_send_data(). Zaleca się aktualizację do wersji Zephyr zawierającej tę poprawkę.

Inne podatności w Zephyr

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

subsys/net/ip/ipv6_mld.c:mld_send() read the packet interface via net_pkt_iface(pkt) after net_send_data(pkt) returned successfully. Per the network stack's ownership contract (include/zephyr/net/net_core.h, and the explicit warning in subsys/net/ip/net_core.c:453-460 'do not use pkt after that call'), a successful send transfers ownership of the net_pkt and the L2 driver frees it (e.g. ethernet_send() unrefs the packet on success, subsys/net/l2/ethernet/ethernet.c:790), returning it to its k_mem_slab. The subsequent net_pkt_iface(pkt) is therefore a read of a freed object; the recovered interface pointer is then dereferenced and incremented by the per-interface statistics path (net_stats.h UPDATE_STAT/SET_STAT) when CONFIG_NET_STATISTICS_PER_INTERFACE is enabled. If the freed slot is concurrently reallocated, pkt->iface may read back as NULL (NULL-pointer dereference / crash) or as a stale/garbage pointer (stray increment write / memory corruption). The path is reachable remotely on the local link without authentication: handle_mld_query() (registered for NET_ICMPV6_MLD_QUERY) responds to a valid MLDv2 General Query (unspecified multicast address, hop limit 1) by calling send_mld_report() -> mld_send(). The result is a remotely triggerable denial of service of the networking stack, with a narrow possibility of memory corruption. The fix caches the interface in a local before sending and no longer touches the packet after net_send_data(). The IPv4/IGMP sibling (igmp_send) already used the corrected pattern.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS