CVE-2023-53123
Təsvir
Linux nüvəsində aşağıdakı boşluq aradan qaldırılmışdır: PCI: s390: hər funksiya üçün hotplug ilə PCI resurslarının istifadəsi sonrası azad edilməsi (use-after-free) probleminin həlli s390 platformasında PCI funksiyaları çoxfunksiyalı cihazın tərkibində olduqda belə fərdi şəkildə hotplug edilə bilər. Xüsusilə SR-IOV cihazında VF-lər silinə və daha sonra yenidən əlavə edilə bilər. Lakin a50297cf8235 ("s390/pci: separate zbus creation from scanning") commit-də struct pci_bus və struct zpci_bus-un resurs siyahısının, həmin resurslar hot-unplug zamanı buraxıldığı və azad edildiyi halda belə, PCI funksiyalarının MMIO resurslarına olan istinadı saxladığı nəzərə alınmamışdı. Bu köhnəlmiş resurslar PCI funksiyası yenidən göründükdə tələb oluna bilər ki, bu da use-after-free xətasına səbəb olur. s390-a məxsus kodda bu use-after-free problemini həll etmək üçün araşdırılan ideyalardan biri, resursları PCI funksiyası ilk dəfə göründüyü andan çoxfunksiyalı cihaz üçün yaradılmış bütün virtual PCI şinası yox olana qədər saxlamaq idi. Lakin buradakı problem süni MMIO ünvanlarına (address cookies) olan ehtiyac səbəbindən, yenidən qoşulma (re-plug) zamanı ünvan cookie-lərinin uyğunluğunu qorumaq üçün əlavə məntiqin tələb olunmasıdır. Eyni zamanda, MMIO resursları semantik olaraq PCI funksiyasına aid olduğu üçün onların həyat dövrünü funksiyaya bağlamaq daha məntiqli görünür. Bunun əvəzinə, daha sadə yanaşma, digər PCI funksiyalarının resurslarına toxunmadan, fərdi şəkildə hot-unplug edilmiş PCI funksiyasının resurslarını PCI şinasının resurs siyahısından çıxarmaqdır. Bu, fərdi resursu silmək üçün pci_bus_remove_resource() funksiyasının tətbiqi ilə həyata keçirilir. Oxşar şəkildə, resurs struct zpci_bus-un resurs siyahısından da silinməlidir. Lakin məlum oldu ki, MMIO resurslarını struct zpci_bus-un resurs siyahısına əlavə etməyə heç bir ehtiyac yoxdur və bunun əvəzinə biz birbaşa zpci_bar_struct-un resurs göstəricisindən istifadə edə bilərik.
Necə düzəltmək olar
- linux linux_kernel5.15.104, 6.1.21, 6.2.8 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 5.13 ≤ v < 5.15.104, 5.16 ≤ v < 6.1.21, 6.2 ≤ v < 6.2.8, 6.3 | 5.15.104, 6.1.21, 6.2.8 |
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.