CVE-2026-17053

Orta

Təsvir

SMBus drayver API-si smbus_smbalert_remove_cb() və smbus_host_notify_remove_cb() funksiyalarını Zephyr sistem çağırışları (syscalls) kimi təqdim edirdi. drivers/smbus/smbus_handlers.c faylındakı onların yoxlayıcıları yalnız dev arqumentini K_SYSCALL_OBJ(dev, K_OBJ_DRIVER_SMBUS) ilə təsdiqləyir və çağıran tərəfindən təmin edilən struct smbus_callback *cb göstəricisini heç bir K_SYSCALL_MEMORY_READ/K_SYSCALL_MEMORY_WRITE yoxlamasından keçirmədən nüvə rejimli (kernel-mode) drayver koduna ötürürdü. 2023-cü ildəki əlaqəli dəyişiklik eyni səbəbdən uyğun gələn smbus_smbalert_set_cb() / smbus_host_notify_set_cb() sistem çağırışlarını artıq silmişdi, lakin iki silmə sistem çağırışı aktiv qalmışdı. CONFIG_USERSPACE=y, CONFIG_SMBUS=y olan və geri çağırış (callback) əməliyyatlarını həyata keçirən drayveri olan (CONFIG_SMBUS_INTEL_PCH_SMBALERT/CONFIG_SMBUS_INTEL_PCH_HOST_NOTIFY ilə drivers/smbus/intel_pch_smbus.c və ya CONFIG_SMBUS_STM32_SMBALERT ilə drivers/smbus/smbus_stm32.c) qurmalarda, SMBus cihaz obyektinə giriş hüququ verilmiş hər hansı istifadəçi rejimi (user-mode) axını bu sistem çağırışlarını ixtiyari göstərici ilə çağıra bilər. Bu dəyər drivers/smbus/smbus_utils.h faylındakı smbus_callback_remove() funksiyasına çatır və orada nüvənin qeydiyyatdan keçmiş geri çağırışlarının sys_slist_t siyahısında düyün kimliyi kimi istifadə olunur. Nəticə etibarilə, imtiyazsız bir axın supervizor rejimindəki komponent tərəfindən qeydiyyata alınmış SMBALERT və ya Host Notify geri çağırışını qeydiyyatdan çıxara bilər ki, bu da bütün sistem üçün xəbərdarlıqların emalını səssiz şəkildə deaktiv edir; Zephyr obrazlarında simvol ünvanları sabit olduğu və sistem çağırışı tapıldıqda 0, tapılmadıqda isə -ENOENT qaytardığı üçün hədəf ünvan həm hesablanabiləndir, həm də axtarıla biləndir. CONFIG_ASSERT=y olan qurmalarda __ASSERT(callback->handler, ...) yoxlaması əlavə olaraq çağıran tərəfdən təmin edilən ünvanı supervizor rejimində dereference edir, buna görə də yanlış göstərici nüvə rejimli xətaya (kernel-mode fault) və kritik sistem xətasına səbəb olur, xətanın baş verməsi və ya verməməsi isə hansı ünvanların xəritələndirildiyini üzə çıxarır. Həll yolu hər iki sistem çağırışı giriş nöqtəsini silir və bu iki funksiyanı adi statik inline çağırışlara endirir, beləliklə geri çağırış siyahısının idarə edilməsi yalnız supervizor rejimli kod üçün əlçatan olur. CONFIG_USERSPACE olmayan qurmalara və SMBALERT və ya Host Notify dəstəyinə malik SMBus drayveri aktiv edilməmiş konfiqurasiyalara heç bir təsir göstərmir.

CiddilikOrta
CVSS4.4
İstismar ehtimalı—
MəhsulZephyr
Dərc1 okt 2026
İlk görülmə1 okt 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 zephyr3.4.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.