CVE-2025-39749

Yüksek

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: rcu: ->defer_qs_iw_pending alanı veri yarışmasına karşı korundu CONFIG_IRQ_WORK=y ile derlenen çekirdeklerde, rcu_read_unlock() kesmelerin devre dışı bırakıldığı bir kod bölgesi içinde çağrıldığında, sistemin RCU okuma tarafı kritik bölümünün gerçekte ne zaman sona erdiğini fark etmesini zorlamak için bir irq-work işleyicisi kullanan rcu_read_unlock_special() fonksiyonunu çağıracaktır. Bu sonlanma, en erken kesmeler etkinleştirilene kadar gerçekleşmeyecektir. rcutree.use_softirq=y ile başlatılanlar gibi bazı çekirdeklerde, irq-work işleyicisi koşulsuz olarak kullanılır. Per-CPU rcu_data yapısının ->defer_qs_iw_pending alanı, irq-work işleyicisi tarafından güncellenmekte ve hem rcu_read_unlock_special() tarafından okunmakta hem de güncellenmektedir. Bu durum aşağıdaki KCSAN hatasına yol açmıştır: ------------------------------------------------------------------------ BUG: KCSAN: data-race in rcu_preempt_deferred_qs_handler / rcu_read_unlock_special read to 0xffff96b95f42d8d8 of 1 bytes by task 90 on cpu 8: rcu_read_unlock_special+0x175/0x260 __rcu_read_unlock+0x92/0xa0 rt_spin_unlock+0x9b/0xc0 __local_bh_enable+0x10d/0x170 __local_bh_enable_ip+0xfb/0x150 rcu_do_batch+0x595/0xc40 rcu_cpu_kthread+0x4e9/0x830 smpboot_thread_fn+0x24d/0x3b0 kthread+0x3bd/0x410 ret_from_fork+0x35/0x40 ret_from_fork_asm+0x1a/0x30 write to 0xffff96b95f42d8d8 of 1 bytes by task 88 on cpu 8: rcu_preempt_deferred_qs_handler+0x1e/0x30 irq_work_single+0xaf/0x160 run_irq_workd+0x91/0xc0 smpboot_thread_fn+0x24d/0x3b0 kthread+0x3bd/0x410 ret_from_fork+0x35/0x40 ret_from_fork_asm+0x1a/0x30 no locks held by irq_work/8/88. irq event stamp: 200272 hardirqs last enabled at (200272): [<ffffffffb0f56121>] finish_task_switch+0x131/0x320 hardirqs last disabled at (200271): [<ffffffffb25c7859>] __schedule+0x129/0xd70 softirqs last enabled at (0): [<ffffffffb0ee093f>] copy_process+0x4df/0x1cc0 softirqs last disabled at (0): [<0000000000000000>] 0x0 ------------------------------------------------------------------------ Sorun, irq-work işleyicilerinin kesmeler etkinken çalışmasıdır; bu da rcu_preempt_deferred_qs_handler() fonksiyonunun kesintiye uğrayabileceği ve bu kesme işleyicisinin rcu_read_unlock_special() fonksiyonunu çağırabilecek bir RCU okuma tarafı kritik bölümü içerebileceği anlamına gelir. RCU tarafından kullanılan katı KCSAN çalışma modunda bu durum, ->defer_qs_iw_pending alanı üzerinde bir veri yarışması oluşturur. Bu nedenle, bu commit, rcu_preempt_deferred_qs_handler() fonksiyonunun ->defer_qs_iw_pending alanını güncelleyen kısmında kesmeleri devre dışı bırakır. Bu işleyici bir hızlı yol (fast path) olmadığı için bu işlem yeterlidir.

ÖnemYüksek
CVSS7.0
İstismar olasılığı—
ÜrünLinux Kernel
Yayın11 Eyl 2025
İlk görülme11 Eyl 2025

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.4.297, 5.10.241, 5.15.190, 6.1.149, 6.6.103, 6.12.43, 6.15.11, 6.16.2 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.3 ≤ v < 5.4.297, 5.5 ≤ v < 5.10.241, 5.11 ≤ v < 5.15.190, 5.16 ≤ v < 6.1.149, 6.2 ≤ v < 6.6.103, 6.7 ≤ v < 6.12.43, 6.13 ≤ v < 6.15.11, 6.16 ≤ v < 6.16.25.4.297, 5.10.241, 5.15.190, 6.1.149, 6.6.103, 6.12.43, 6.15.11, 6.16.2
debian debian_linux11.0—

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.

Intelligence 360 paketinde

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.

CVE-2025-39749 · Linux Kernel · Dark Radar