CVE-2026-16515
Təsvir
subsys/net/ip/icmpv6.c faylında net_icmpv6_send_error() funksiyası RFC 4443-ün 2.4 bölməsindəki üç bastırma qaydasından yalnız birini (ICMPv6 xətasına ICMPv6 xətası ilə cavab verməmək) tətbiq edirdi. O, tetikləyən paketin mənbə ünvanının tək qovşağı müəyyən edib-etmədiyini (e.6 qaydası) və ya paketin multicast təyinatına göndərilib-göndərilmədiyini (e.3 qaydası, yeganə istisnaları Packet Too Big və Parameter Problem Code 2-dir) yoxlamırdı. Beş çağırış nöqtəsindən yalnız subsys/net/ip/connection.c faylındakı port-unreachable yolu özünün ekvivalent qoruyucusuna malik idi; subsys/net/ip/ipv6.c və subsys/net/ip/ipv6_fragment.c fayllarındakı extension-header, unknown-next-header və fragmentation yollarında heç bir qoruyucu yox idi. Eyni linkə çıxışı olan autentifikasiya olunmamış hücumçu bundan iki yolla istifadə edə bilər. Tanınmayan next-header dəyəri daşıyan, mənbə ünvanı seçilmiş qurban kimi saxtalaşdırılmış tək IPv6 paketini link-local all-nodes qrupuna (ff02::1) göndərmək linkdəki hər Zephyr qovşağının həmin qurbana ICMPv6 Parameter Problem mesajı göndərməsinə səbəb olur — bu, gücləndirmə əmsalı qovşaqların sayına bərabər olan reflektor yaradır. Alternativ olaraq, mənbə ünvanı multicast ünvanı olan unicast paket göndərmək qovşağın ICMPv6 xətasını həmin multicast ünvanına ötürməsinə səbəb olur və bir unicast paketi linki dolduran multicast kadra çevirir. ff02::1 ünvanına ünvanlanmış paketlər ipv6_input() tərəfindən qeyd-şərtsiz qəbul edilir və heç bir yoxlama multicast mənbə ünvanını rədd etmir, ona görə də xüsusi konfiqurasiya tələb olunmur. Təsir paylaşılan linkin və əks etdirmə qurbanının əlçatanlığının pisləşməsi, həmçinin hücumçunun öz ünvanını cavab verən qovşaqların arxasında gizlətmək imkanıdır. Effekt 802.15.4/Thread kimi məhdud mesh linklərində güclənir, çünki orada link-local multicast hop-hop yayılır. Yaddaş təhlükəsizliyi nəticəsi yoxdur: xəta paketinin özü düzgün formalaşdırılıb, sadəcə protokolun qadağan etdiyi hallarda göndərilir. Düzəliş hər iki bastırma yoxlamasını net_icmpv6_send_error() funksiyasındakı vahid darboğaz nöqtəsində, hər hansı cavab paketi ayrılmazdan əvvəl əlavə edir və NET_ICMPV6_PACKET_TOO_BIG və Parameter Problem Code 2 üçün RFC-nin tələb etdiyi istisnaları qoruyur. Qeyd edək ki, subsys/net/ip/icmpv4.c faylındakı IPv4 analoqu net_icmpv4_send_error() hələ də yalnız broadcast təyinatını yoxlayır və multicast təyinatları və unikal olmayan mənbələr üçün ekvivalent boşluğu saxlayır.
Necə düzəltmək olar
- zephyrproject zephyr4.4.2 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.4.2 | 4.4.2 |
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.