CVE-2024-35911
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ice: askıya alma ve yeniden oluşturma ile ilgili bellek bozulması hatası düzeltildi ice sürücüsü daha önce askıya alma (suspend) işleminden sonra panik durumuna geçiyordu. Bu durum, sürücünün askıya alma sırasında yalnızca ice_vsi_free_q_vectors() fonksiyonunu çağırmasından kaynaklanmaktadır. b3e7b3a6ee92 ("ice: prevent NULL pointer deref during reload") commit'inden beri sürücü, num_q_vectors değerini sıfırlamakta ve bu değeri yalnızca ice_vsi_cfg_def() içinde geri yüklemektedir. Bu durum, ice_rebuild() fonksiyonunun sıfır uzunluğunda bir tampon (buffer) ayırmasına neden olmakta; ardından num_q_vectors güncellenmekte ve num_q_vectors'ın yeni değeri sıfır uzunluğundaki tamponda indeksleme yapmak için kullanılarak belleği bozmaktadır. Çözüm, num_q_vectors referans veren tüm kodların, ancak ice_vsi_cfg_def() aracılığıyla sıfırlandıktan sonra çalışmasının sağlanmasını içermektedir. Tam bir bisect işlemi gerçekleştirilmemiştir ancak 6.1.77 çekirdeğinde yapılan testlerde ice sürücüsünün herhangi bir panik durumu olmadan askıya alma/devam ettirme (suspend/resume) işlemlerinin sorunsuz çalıştığı görülmüştür; dolayısıyla bu sorun daha sonraki bir tarihte eklenmiştir. Ayrıca, değiştirilen fonksiyondaki gereksiz bir yerel değişken başlatma işlemi temizlenmiştir. 6.8.0-rc1 sürümünden PANIK çıktısı: [1026674.915596] PM: suspend exit [1026675.664697] ice 0000:17:00.1: PTP reset successful [1026675.664707] ice 0000:17:00.1: 2755 msecs passed between update to cached PHC time [1026675.667660] ice 0000:b1:00.0: PTP reset successful [1026675.675944] ice 0000:b1:00.0: 2832 msecs passed between update to cached PHC time [1026677.137733] ixgbe 0000:31:00.0 ens787: NIC Link is Up 1 Gbps, Flow Control: None [1026677.190201] BUG: kernel NULL pointer dereference, address: 0000000000000010 [1026677.192753] ice 0000:17:00.0: PTP reset successful [1026677.192764] ice 0000:17:00.0: 4548 msecs passed between update to cached PHC time [1026677.197928] #PF: supervisor read access in kernel mode [1026677.197933] #PF: error_code(0x0000) - not-present page [1026677.197937] PGD 1557a7067 P4D 0 [1026677.212133] ice 0000:b1:00.1: PTP reset successful [1026677.212143] ice 0000:b1:00.1: 4344 msecs passed between update to cached PHC time [1026677.212575] [1026677.243142] Oops: 0000 [#1] PREEMPT SMP NOPTI [1026677.247918] CPU: 23 PID: 42790 Comm: kworker/23:0 Kdump: loaded Tainted: G W 6.8.0-rc1+ #1 [1026677.257989] Hardware name: Intel Corporation M50CYP2SBSTD/M50CYP2SBSTD, BIOS SE5C620.86B.01.01.0005.2202160810 02/16/2022 [1026677.269367] Workqueue: ice ice_service_task [ice] [1026677.274592] RIP: 0010:ice_vsi_rebuild_set_coalesce+0x130/0x1e0 [ice] [1026677.281421] Code: 0f 84 3a ff ff ff 41 0f b7 74 ec 02 66 89 b0 22 02 00 00 81 e6 ff 1f 00 00 e8 ec fd ff ff e9 35 ff ff ff 48 8b 43 30 49 63 ed <41> 0f b7 34 24 41 83 c5 01 48 8b 3c e8 66 89 b7 aa 02 00 00 81 e6 [1026677.300877] RSP: 0018:ff3be62a6399bcc0 EFLAGS: 00010202 [1026677.306556] RAX: ff28691e28980828 RBX: ff28691e41099828 RCX: 0000000000188000 [1026677.314148] RDX: 0000000000000000 RSI: 0000000000000010 RDI: ff28691e41099828 [1026677.321730] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 [1026677.329311] R10: 0000000000000007 R11: ffffffffffffffc0 R12: 0000000000000010 [1026677.336896] R13: 0000000000000000 R14: 0000000000000000 R15: ff28691e0eaa81a0 [1026677.344472] FS: 0000000000000000(0000) GS:ff28693cbffc0000(0000) knlGS:0000000000000000 [1026677.353000] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [1026677.359195] CR2: 0000000000000010 CR3: 0000000128df4001 CR4: 0000000000771ef0 [1026677.366779] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [1026677.374369] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [1026677.381952] PKRU: 55555554 [1026677.385116] Call Trace: [1026677.388023] <TASK> [1026677.390589] ? __die+0x20/0x70 [1026677.394105] ? page_fault_oops+0x82/0x160 [1026677.398576] ? do_user_addr_fault+0x65/0x6a0 [1026677.403307] ? exc_page_fault+0x6a/0x150 [1026677.407694] ? asm_exc_page_fault+0x22/0x30 [1026677.412349] ? ice_vsi_rebuild_set_coalesce+0x130/0x1e0 [ice] [1026677.4186 ---kesildi---
Nasıl düzeltilir
- linux linux_kernel6.5, 6.6.26, 6.8.5 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 6.4.7 ≤ v < 6.5, 6.5.1 ≤ v < 6.6.26, 6.7 ≤ v < 6.8.5, 6.5, 6.9 | 6.5, 6.6.26, 6.8.5 |
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.