CVE-2026-11742

Aşağı

Təsvir

kernel/queue.c faylındakı kernel növbə köməkçisi z_queue_node_peek(), növbənin data_q siyahısından götürülmüş düyünün istinadını həyata keçirərək düyünün bayraq baytını və k_queue_alloc_append/alloc_prepend vasitəsilə növbəyə əlavə edilmiş elementlər üçün daxili ayrılmış alloc_node strukturunun məlumat göstəricisini oxuyur. z_impl_k_queue_peek_head() və z_impl_k_queue_peek_tail() funksiyalarının tətbiqləri bu oxuma və istinad əməliyyatlarını növbənin spinlock kilidini saxlamadan yerinə yetirirdi, halbuki eyni siyahının digər bütün giriş nöqtələri — o cümlədən düyünü ayırıb onun altındakı alloc_node-u k_free() ilə azad edən k_queue_get() — həmin kilid altında fəaliyyət göstərir. Peek əməliyyatı sinxronlaşdırılmadığı üçün, eyni növbə üzərində paralel k_queue_get() çağırışı (SMP versiyasında və ya preemption/ISR paralelliyi zamanı) peek-in düyün göstəricisini aldığı anla onu istifadə etdiyi an arasında düyünü azad edə bilər. Beləliklə, peek azad edilmiş və potensial olaraq yenidən təyin edilmiş yığın (heap) yaddaşından bayraq bitlərini və məlumat göstəricisini oxuyur və çağıran tərəfə köhnəlmiş və ya asılı (dangling) göstərici qaytarır. k_fifo və k_lifo funksiyaları k_queue üzərində qurulmuş sadə örtüklərdir, buna görə də bu problem net_buf, Bluetooth, USB və şəbəkə alt sistemlərində istifadə olunan bufer növbələrinə təsir edir; həmçinin peek əməliyyatları CONFIG_USERSPACE axınlarından əlçatan olan sistem çağırışlarıdır. Bunun nəticəsi, köhnəlmiş yığın məzmununu (bir göstərici sözü) sızdıra bilən "use-after-free" oxumasıdır və qaytarılan asılı göstərici sonradan aktiv bufer kimi istifadə edildikdə, sistemi çökdürə və ya yaddaşı korlaya bilən bir istinaddır. Ekspluatasiya lokal girişlə kiçik bir yarış pəncərəsini (race window) qazanmağı tələb edir (məsələn, paylaşılan növbədə k_queue_peek_* və k_queue_get arasındakı yarışda iştirak edən istifadəçi sahəsi prosesi və ya iki CPU), buna görə də praktiki təsiri məhduddur və aşağı dərəcəli risk daşıyır. Həll yolu hər iki peek tətbiqini növbə kilidi üzərində k_spin_lock/k_spin_unlock ilə əhatə etməkdir ki, bu da oxuma və istinad əməliyyatını paralel unlink-and-free əməliyyatına nisbətən atomar edir və peek funksiyasını növbənin digər kilidləmə intizamı ilə uyğunlaşdırır.

CiddilikAşağı
CVSS3.6
İstismar ehtimalı—
MəhsulZephyr
Dərc7 avq 2026
İlk görülmə7 avq 2026

Necə düzəltmək olar

Yeniləyin
  • zephyrproject zephyr4.4.2 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
zephyrproject zephyr1.12.0 ≤ v < 4.4.24.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.

Intelligence 360 paketində

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.