CVE-2026-18418
Təsvir
subsys/zbus/proxy_agent/zbus_proxy_agent_ipc.c faylındakı zbus proxy agent IPC backend-i, rədd edilmiş domenlərarası freymin kanal adını sadə %s çevirməsi ilə loqlayırdı. Freym tipi olan struct zbus_proxy_msg strukturu son üzvü kimi sabit ölçülü channel_name[] massivini daşıyır və nəqliyyatda bu massivin NUL ilə sonlandığına dair heç bir zəmanət yoxdur. Sonlanmanı yoxlayan yeganə kod subsys/zbus/proxy_agent/zbus_proxy_agent.c faylındakı zbus_proxy_agent_receive_cb() funksiyasıdır ki, o da məhz belə hallarda freymi rədd edir — buna görə də xəbərdarlıq mesajı, adın etibarsız olduğu tapıldığı xəta yollarında (və ya yanlış message_size olduqda, ümumiyyətlə yoxlanılmadığı hallarda) sonlandırılmamış buferi çap edirdi. Bağlı ipc_service son nöqtəsinə sizeof(struct zbus_proxy_msg) bayt ölçüsündə freym yerləşdirə bilən hər hansı həmyaşıq domen, diapazondan kənar message_size göndərərək və ya tərkibində NUL baytı olmayan channel_name[] vasitəsilə bunu tetikləyə bilər. Kodun işə düşməsi üçün CONFIG_ZBUS_PROXY_AGENT_IPC konfiqurasiyası və loqlamanın xəbərdarlıq səviyyəsində və ya daha yüksək (defolt olaraq) qurulması, həmçinin həmyaşıq domenin proqram təminatı (firmware) üzərində nəzarət (adətən eyni SoC-dəki ikinci nüvə) tələb olunur. Loq paketleyicisi daxilindəki nəticəvi strlen() funksiyası sıfır baytı tapana qədər freym obyektinin sonundan kənara çıxaraq oxumağa davam edir. icmsg backend-i ilə freym IPC iş növbəsi (work-queue) axınının stek buferində yerləşdiyi üçün həmin axının stek baytları loq mesajına ötürülür; rpmsg backend-ləri ilə isə skanlaşma paylaşılan vring yaddaşı boyunca davam edir. Təsir, qəbul edən domenin loq mənbəyinə yaxın yaddaş sahəsinin kiçik bir hissəsinin sızması və skanlaşma xəritələnmiş bölgədən kənara çıxdıqda mümkün kritik xəta (fatal fault) ilə məhdudlaşır; loq paketleyicisinin öz -ENOSPC limiti daşmanın yazma əməliyyatına çevrilməsinin qarşısını alır. Düzəliş, çevirməni %.*s və MIN(msg->channel_name_len, sizeof(msg->channel_name)) ilə məhdudlaşdırı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 | 4.4.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.