CVE-2026-74274
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: cxl/region: Otomatik keşif sırasında ilk boş targets[] yuvasını doldur Aktif bir bölgenin hedef dizisindeki herhangi bir geçersiz uç nokta çözücü (endpoint decoder) işaretçisine cxl sürücüsü tarafından izin verilmez. Bu durum, cxl sürücüsünün otomatik montaj bölgesindeki hedef dizisinin ilk p->nr_targets girişinin her zaman geçerli olduğunu varsaydığı anlamına gelir. Ancak, hedef dizisinde NULL uç nokta çözücü işaretçi boşlukları bırakabilecek senaryolar mevcuttur. 1. cxl_cancel_auto_attach(), bir hedef diziden uç nokta çözücüyü kaldırdığında, hedef yuvası NULL olarak ayarlanır. Kaldırılan uç nokta çözücü hedef dizisindeki son öğe değilse, hedef dizisi bir NULL boşluğu içerecektir. 2. Bir otomatik montaj bölgesi atanmış bir uç nokta çözücüyü kaldırdığında, kaldırılan uç nokta çözücü hedef dizisindeki son öğe değilse, hedef dizisinde her zaman bir NULL boşluğu kalır. Bir bölgenin hedef dizisinde NULL işaretçi boşluğu olduğunda, bu iki potansiyel sorun ortaya çıkarır: 1. Bir uç nokta çözücüye NULL işaretçi üzerinden erişim; bu durum her zaman şu şekilde bir calltrace tetikler: Oops: general protection fault, probably for non-canonical address 0xdffffc0000000008: 0000 [#1] SMP KASAN PTI RIP: 0010:cxl_calc_interleave_pos+0x26/0x810 [cxl_core] Call Trace: <TASK> cxl_region_attach+0xc50/0x2140 [cxl_core] cxl_add_to_region+0x321/0x2330 [cxl_core] discover_region+0x92/0x150 [cxl_port] device_for_each_child+0xf3/0x170 cxl_port_probe+0x150/0x200 [cxl_port] cxl_bus_probe+0x4f/0xa0 [cxl_core] really_probe+0x1c8/0x960 __driver_probe_device+0x323/0x450 driver_probe_device+0x45/0x120 __device_attach_driver+0x15d/0x280 bus_for_each_drv+0x10f/0x190 2. Bir otomatik montaj bölgesine yeterli sayıda geçerli uç nokta çözücünün bağlanmamış olması. Eğer bir otomatik montaj bölgesi kilit bayrağıyla oluşturulursa veya atanmış uç nokta çözücü kilit bayrağıyla atanırsa (bu, atanmış uç nokta çözücünün ayrılma sırasında sıfırlanmayacağı anlamına gelir), bunlar otomatik montaj bölgesine tekrar bağlanabilirler. Ancak cxl bölge sürücüsü, gerekli sayıdaki uç nokta çözücünün bağlanıp bağlanmadığını doğrulamak için p->nr_targets değerine güvenir ve bu durumda NULL uç nokta çözücü işaretçileri hala sayılmaya devam eder. Yukarıdaki sorunları gidermek için, uç nokta çözücü bağlantısı için ilk boş hedef yuvasını bulacak şekilde cxl_region_attach_auto() mantığı düzenlenmiştir; bu, yeni uç nokta çözücülerin hedef dizisinin sonuna eklenmesi yerine, hedef dizisindeki NULL boşluklarının doldurulmasını sağlar.
Nasıl düzeltilir
- Linux Linux6fde3fcdfec438ba0df26e25a8ac7c3707211799, aa8a76711c15041ec1e42c3a74c15c2df0bd31f6 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 2230c4bdc4120417799c74326ade3123da226d54 ≤ v < 6fde3fcdfec438ba0df26e25a8ac7c3707211799, 2230c4bdc4120417799c74326ade3123da226d54 ≤ v < aa8a76711c15041ec1e42c3a74c15c2df0bd31f6, 6.19 | 6fde3fcdfec438ba0df26e25a8ac7c3707211799, aa8a76711c15041ec1e42c3a74c15c2df0bd31f6 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.