CVE-2024-36899

Yüksək

Təsvir

Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: gpiolib: cdev: lineinfo_changed_notify funksiyasında istifadədən sonra azad etmə xətası düzəldilib İstifadədən sonra azad etmə problemi aşağıdakı kimi baş verir: GPIO çip cihaz faylı gpio_chrdev_release() çağırışı ilə bağlanarkən watched_lines bitmap_free() tərəfindən azad edilir, lakin lineinfo_changed_nb notifier zəncirinin qeydiyyatdan çıxarılması yazma rwsem-ini gözlədiyi üçün uğursuz olur. Bundan əlavə, GPIO çipin sətirlərindən biri də buraxılma prosesindədir və notifier zəncirinin oxuma rwsem-ini saxlayır. Nəticədə yaranan yarış vəziyyəti watched_lines-ın istifadədən sonra azad edilməsinə gətirib çıxarır. Problem baş verdikdə tipik stack belədir: [azad etmə] gpio_chrdev_release() --> bitmap_free(cdev->watched_lines) <-- azad edilir --> blocking_notifier_chain_unregister() --> down_write(&nh->rwsem) <-- rwsem gözləyir --> __down_write_common() --> rwsem_down_write_slowpath() --> schedule_preempt_disabled() --> schedule() [istifadə] st54spi_gpio_dev_release() --> gpio_free() --> gpiod_free() --> gpiod_free_commit() --> gpiod_line_state_notify() --> blocking_notifier_call_chain() --> down_read(&nh->rwsem); <-- rwsem saxlanılır --> notifier_call_chain() --> lineinfo_changed_notify() --> test_bit(xxxx, cdev->watched_lines) <-- istifadədən sonra azad etmə İstifadədən sonra azad etmə probleminin yan təsiri ondan ibarətdir ki, istifadəçi məkanı üçün olmamalı olduğu halda GPIO sətir hadisəsi yaradılır. Lakin chrdev bağlandığı üçün istifadəçi məkanının həmin hadisəni oxumaq imkanı heç bir halda olmayacaq. Problemi həll etmək üçün bitmap_free() funksiyasını lineinfo_changed_nb notifier zəncirinin qeydiyyatdan çıxarılmasından sonra çağırın.

CiddilikYüksək
CVSS7.0
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc30 may 2024
İlk görülmə30 may 2024

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.6.31, 6.8.10 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel5.7 ≤ v < 6.6.31, 6.7 ≤ v < 6.8.10, 6.96.6.31, 6.8.10

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.

CVE-2024-36899 · Linux Kernel · Dark Radar