CVE-2026-10639
Təsvir
Zephyr-in yerli IPv4 stekində, subsys/net/ip/icmpv4.c faylındakı icmpv4_handle_echo_request() funksiyası echo-reply paketini (reply) qurur, onu net_try_send_data()-ya ötürür və uğurlu olduqda net_stats_update_icmp_sent(net_pkt_iface(reply)) funksiyasını çağırır. net_try_send_data() reply-ın mülkiyyətini TX yoluna (net_if_try_queue_tx -> net_if_tx -> L2/driver send və ya asinxron net_if_tx_thread) transfer edir ki, bu da statistika sətri işlənmədən əvvəl onun istinad sayını (refcount) 0-a endirərək struct net_pkt-ni öz slab-ına qaytara bilər (net_pkt_unref -> k_mem_slab_free). net_core.c sənədləri məhz bu müqaviləni təsvir edir ('pkt artıq zibil ehtiva edə bilər ... həmin çağırışdan sonra pkt-dən istifadə etməyin'). Beləliklə, göndərmə sonrası net_pkt_iface(reply) çağırışı, azad edilmiş (və bəlkə də artıq yenidən ayrılmış) net_pkt-dən reply->iface dəyərini oxuyur ki, bu da "use-after-free" oxuma əməliyyatıdır; CONFIG_NET_STATISTICS_PER_INTERFACE aktiv olduqda, statistika makrosu əlavə olaraq həmin dəyər vasitəsilə sayğacı artırır, yəni köhnəlmiş və ya təkrar istifadə edilən slot göstəricisi (pointer) vasitəsilə dereference/yazma əməliyyatı baş verir. Bu yola cihazı ping edən hər hansı uzaq host tərəfindən autentifikasiyasız daxil olmaq mümkündür (net_icmpv4_input -> net_icmp_call_ipv4_handlers -> icmpv4_handle_echo_request) və bu proses CONFIG_NET_STATISTICS_ICMP ilə idarə olunur. Təsir, təkrar istifadə edilmiş paket yaddaşının ehtimallı oxunması və zamanlama yarışı (timing race) zamanı mümkün "wild-pointer" yazılmasıdır ki, bu da çox güman ki, interfeys statistikalarının korlanmasına və ya uzaqdan tetiklenebilən sistem çökməsinə (DoS) səbəb olur. Qüsur 2019-cu ildə (v1.14) daxil edilmişdir və v4.4.0 versiyasına qədər mövcuddur. net_icmpv4_send_error()-dakı paralel dəyişiklik "use-after-free" deyil, çünki o, çağıran tərəfə məxsus olan və göndərmə boyunca aktiv qalan qəbul edilmiş paketin net_pkt_iface(orig)-ni oxuyur. Düzəliş, göndərmədən əvvəl aktiv qəbul edilmiş paketdən interfeys göstəricisini keşləyir və ondan göndərmə sonrası statistika yeniləmələri üçün istifadə edir.
Necə düzəltmək olar
- zephyrproject zephyr4.5.0 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| zephyrproject zephyr | 1.14.0 ≤ v < 4.5.0 | 4.5.0 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.