CVE-2024-39508
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: io_uring/io-wq: worker->flags üzerinde set_bit() ve test_bit() kullanımı Potansiyel veri yarışmalarını (data race) gidermek için io_uring/io-wq içerisindeki worker->flags üzerinde set_bit() ve test_bit() fonksiyonları kullanılmıştır. io_worker->flags yapısına çeşitli veri yolları üzerinden erişilebilmekte, bu da eşzamanlılık sorunlarına yol açmaktadır. KCSAN etkinleştirildiğinde; io_worker_handle_work ve io_wq_activate_free_worker fonksiyonlarında veri yarışmaları meydana geldiği tespit edilmiştir. BUG: KCSAN: data-race in io_worker_handle_work / io_wq_activate_free_worker write to 0xffff8885c4246404 of 4 bytes by task 49071 on cpu 28: io_worker_handle_work (io_uring/io-wq.c:434 io_uring/io-wq.c:569) io_wq_worker (io_uring/io-wq.c:?) <snip> read to 0xffff8885c4246404 of 4 bytes by task 49024 on cpu 5: io_wq_activate_free_worker (io_uring/io-wq.c:? io_uring/io-wq.c:285) io_wq_enqueue (io_uring/io-wq.c:947) io_queue_iowq (io_uring/io_uring.c:524) io_req_task_submit (io_uring/io_uring.c:1511) io_handle_tw_list (io_uring/io_uring.c:1198) <snip> Satır numaraları 18daea77cca6 ("Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm") commit'ine göredir. Bu yarışlar, farklı CPU'larda çalışan farklı görevlerin aynı bellek konumuna yazma ve okuma işlemleri yapmasını içermektedir. Bunu hafifletmek için kod, temel "and" ve "or" işlemleri yerine set_bit(), test_bit() ve clear_bit() gibi atomik işlemler kullanacak şekilde yeniden yapılandırılmıştır. Bu durum, worker bayraklarının iş parçacığı güvenli (thread-safe) bir şekilde yönetilmesini sağlar. Ayrıca, yapıdaki boşlukları önlemek için `create_index` taşınmıştır.
Nasıl düzeltilir
- linux linux_kernel6.6.35, 6.9.6 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 | 5.1 ≤ v < 6.6.35, 6.7 ≤ v < 6.9.6 | 6.6.35, 6.9.6 |
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.