CVE-2026-89518
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: sched_ext: dispatch kfunc'larındaki this_rq() varsayımları düzeltildi Core scheduling altında, dispatch işlemi çekirdek genelindeki pick içerisinden çalışır ve kardeş bir rq'yu hedefleyebilir; bu nedenle ops.dispatch(), gönderilen rq'dan farklı bir CPU üzerinde yürütülebilir. Birkaç kfunc yolu, bu ikisinin her zaman örtüştüğünü varsaymaktaydı: - scx_dsq_move(), this_rq()'nun rq bayraklarını test ederek bir rq kilidinin tutulup tutulmadığına karar veriyor ve buna göre kilit yönetimi yapıyordu. Kardeş bir işlem için yapılan dispatch, kilitlenmemiş bağlam dalına giriyor ve halihazırda tutulan gönderilmiş rq kilidinin üzerine kaynak rq kilidini alıyordu, bu da ölü kilitlemeye (deadlock) yol açabiliyordu. - scx_bpf_sub_dispatch(), this_rq()'yu saklanmış sub_dispatch_prev ile gönderiyordu; ancak kardeş bir işlem için gönderim yapılırken bu değer NULL olur. - finish_dispatch(), scx_bpf_dsq_reenq() ve scx_bpf_dsq_nr_queued(), SCX_DSQ_LOCAL ifadesini gönderilen rq yerine mevcut CPU'nun yerel DSQ'su olarak çözümlüyordu. Son iki fonksiyon, SCX_DSQ_LOCAL'in artık işlemin rq'suna çözümlendiği diğer rq-kilitli işlemlerden de çağrılabilir durumdadır. Bu durum, core scheduling olmadan da davranışı değiştirir (örneğin, uyandıran CPU üzerinde uzak uyandırma çalıştıran ops.enqueue() için) ve bu amaçlıdır: bir işlemin hangi CPU tarafından yürütüldüğü tesadüfidir, işlemin rq'su üzerinde işlem yaptığı yapıdır ve çözümleme artık SCX_DSQ_LOCAL gönderimlerinin görevin rq'suna ulaştığı ekleme tarafıyla eşleşmektedir. ops çağırmaları sırasında gönderilen rq olarak ayarlanan ve kilitlenmemiş bağlamlarda NULL olan scx_locked_rq() tarafından takip edilen rq kullanın.
Nasıl düzeltilir
- Linux Linux6d1890d3c6137ab523799765ae2de62cc05f116d, 3dd52416e44a70bc993adb96d2e0d71b9ea21359 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 4c95380701f58b8112f0b891de8d160e4199e19d ≤ v < 6d1890d3c6137ab523799765ae2de62cc05f116d, 4c95380701f58b8112f0b891de8d160e4199e19d ≤ v < 3dd52416e44a70bc993adb96d2e0d71b9ea21359, 6.19 | 6d1890d3c6137ab523799765ae2de62cc05f116d, 3dd52416e44a70bc993adb96d2e0d71b9ea21359 |
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.