CVE-2026-13212
Təsvir
Zephyr virtio drayveri, virtio cihazının istifadə olunan halqaya (used ring) yazdığı deskriptor zəncirinin baş ID-sini yoxlamır. virtio_isr() funksiyasında (drivers/virtio/virtio_common.c), cihaz tərəfindən yazılan vq->used->ring[idx].id dəyəri birbaşa vq->recv_cbs[] və vq->desc[] massivləri üçün indeks kimi istifadə olunur və hər iki massiv tam olaraq vq->num elementindən ibarət olmaqla ayrılmışdır. recv_cbs[] massivi {cb, opaque} geri çağırma (callback) elementlərini saxlayır və indekslənmiş geri çağırma göstəricisi daha sonra cbe.cb(cbe.opaque, used_len) şəklində çağırılır. ID dəyəri heç bir sərhəd yoxlanışı olmadan 16 bitlik dəyər kimi qəbul edildiyi üçün, bədniyyətli və ya kompromisə uğramış virtio backend-i (etibarsız hipervizor və ya PCI və ya MMIO transportu üzərində etibarsız aparat təminatı/həmyaşıq prosessor virtio cihazı) vq->num-dan çox daha böyük bir ID təqdim edə bilər. Bu, recv_cbs[] massivindən kənarda olan heap yaddaşından {funksiya göstəricisi, arqument} cütlüyünün sərhədlərdən kənar oxunmasına (out-of-bounds read) səbəb olur, bundan sonra drayver həmin hücumçu tərəfindən müəyyən edilmiş göstəricini qonağın interrupsiya kontekstində çağırır. Heç bir qonaq imtiyazı və ya istifadəçi qarşılıqlılığı tələb olunmur; backend bunu ortaq istifadə olunan halqaya yazıb növbə interrupsiyasını başlatmaqla tetikləyir. Nəticədə, Zephyr qonağında ixtiyari və ya hücumçu tərəfindən təsir edilən funksiya göstəricisinin çağırılması, yəni kodun icrasına və ya ən azı sistemin stabil şəkildə çökməsinə səbəb ola biləcək idarəetmə axınının ələ keçirilməsi (control-flow hijack) primitivi yaranır. Düzəliş, recv_cbs[]/desc[] indekslənməzdən və ya geri çağırma funksiyası işə salınmazdan əvvəl vq->num-a bərabər və ya ondan böyük olan bütün istifadə olunan halqa ID-lərini rədd edir. Bu problem PCI və ya MMIO transportu ilə CONFIG_VIRTIO istifadə edən versiyalara təsir edir.
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 | 4.2.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.