CVE-2026-64029

Yüksek

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: ALSA: seq: UMP çıktı kapatma işlemini event_input ile serileştirin seq_ump_process_event(), seq_ump_client_open() ve seq_ump_client_close() fonksiyonlarındaki ilk-açılış ve son-kapanış geçişleriyle senkronize olmadan client->out_rfile.output nesnesini ödünç alır. Bu nedenle, son çıktı kullanımı opened[STR_OUT] değerini sıfıra düşürebilir ve hala yürütülmekte olan bir event_input geri çağırması snd_rawmidi_kernel_write() içerisindeyken rawmidi dosyasını serbest bırakabilir. Bu durum, yazma yolu kendi tampon referansını almadan önce rawmidi alt akış çalışma zamanının (runtime) kapatılmaya açık kalmasına neden olur. event_input tarafından görülebilen çıktı dosyası için istemci başına bir rwlock eklenmiştir. Yeni açılan bir çıktı dosyası yazma tarafında yayınlanır ve okuma tarafı, çıktı aramasından snd_rawmidi_kernel_write() işlemine kadar tutulur. Son çıktı kapatma işlemi, görünür çıktı dosyasını yazma tarafında kopyalar ve temizler, ardından kilidi bırakır ve kaydedilen rawmidi dosyasını serbest bırakır. event_input atomik sekanslayıcı teslimatından da erişilebilir olduğu için IRQ-güvenli rwlock korumaları kullanılmıştır. Hatalı senaryo iki yol içerir; her sütun o yoldaki sırayı göstermektedir: yol A etiketi: event_input yolu | yol B etiketi: son kullanım dışı bırakma yolu 1. seq_ump_process_event() client->out_rfile.output'u okur. | 1. seq_ump_client_close() opened[STR_OUT] değerini sıfıra düşürür. 2. snd_rawmidi_kernel_write1() henüz runtime'ı sabitlememiştir. | 2. snd_rawmidi_kernel_release() çıktı dosyasını kapatır. 3. Yazıcı, ödünç alınan alt akışı kullanmaya devam eder. | 3. close_substream() substream->runtime'ı serbest bırakır. Bu yöntem, rawmidi serbest bırakma işlemini rwlock dışında tutarken, tüm event_input yazma işlemi boyunca çıktı alt akışını ve çalışma zamanını hayatta tutar. KASAN bunu, seq_ump_use()/snd_seq_port_connect() aracılığıyla tahsis edilen ve seq_ump_unuse()/snd_seq_port_disconnect() aracılığıyla serbest bırakılan, snd_rawmidi_kernel_write1() içerisinde bir slab-use-after-free olarak yeniden üretmiştir. Doğrulama, şu çekirdek raporunu yeniden üretmiştir: KASAN slab-use-after-free in snd_rawmidi_kernel_write1+0x9d/0x400 RIP: 0033:0x7f5528af837f Read of size 8 Call trace: dump_stack_lvl+0x73/0xb0 (?:?) print_report+0xd1/0x650 (?:?) srso_alias_return_thunk+0x5/0xfbef5 (?:?) __virt_addr_valid+0x1a7/0x340 (?:?) kasan_complete_mode_report_info+0x64/0x200 (?:?) kasan_report+0xf7/0x130 (?:?) snd_rawmidi_kernel_write1+0x9d/0x400 (?:?) __asan_load8+0x82/0xb0 (?:?) update_stack_state+0x1ef/0x2d0 (?:?) snd_rawmidi_kernel_write+0x1a/0x20 (?:?) seq_ump_process_event+0xd4/0x120 (sound/core/seq/seq_ump_client.c:82) __snd_seq_deliver_single_event+0x8a/0xe0 (?:?) snd_seq_deliver_from_ump+0x2b2/0xd60 (?:?) lock_acquire+0x14e/0x2e0 (?:?) find_held_lock+0x31/0x90 (?:?) snd_seq_port_use_ptr+0xa6/0xe0 (?:?) __kasan_check_write+0x18/0x20 (?:?) do_raw_read_unlock+0x32/0xa0 (?:?) _raw_read_unlock+0x26/0x50 (?:?) snd_seq_deliver_single_event+0x45c/0x4b0 (?:?) snd_seq_deliver_event+0x10d/0x1b0 (?:?) snd_seq_client_enqueue_event+0x192/0x240 (?:?) snd_seq_write+0x2cd/0x450 (?:?) apparmor_file_permission+0x20/0x30 (?:?) security_file_permission+0x51/0x60 (?:?) vfs_write+0x1ce/0x850 (?:?) __fget_files+0x12b/0x220 (?:?) lock_release+0xc8/0x2a0 (?:?) __rcu_read_unlock+0x74/0x2d0 (?:?) __fget_files+0x135/0x220 (?:?) ksys_write+0x15a/0x180 (?:?) rcu_is_watching+0x24/0x60 (?:?) __x64_sys_write+0x46/0x60 (?:?) x64_sys_call+0x7d/0x20d0 (?:?) do_syscall_64+0xc1/0x360 (arch/x86/entry/syscall_64.c:87) entry_SYSCALL_64_after_hwframe+0x77/0x7f (?:?)

ÖnemYüksek
CVSS7.8
İstismar olasılığı—
ÜrünLinux Kernel
Yayın19 Tem 2026
İlk görülme19 Tem 2026
Zayıflık türüCWE-362Yarış durumu

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.6.142, 6.12.92, 6.18.34, 7.0.11 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.5 ≤ v < 6.6.142, 6.7 ≤ v < 6.12.92, 6.13 ≤ v < 6.18.34, 6.19 ≤ v < 7.0.11, 7.16.6.142, 6.12.92, 6.18.34, 7.0.11

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-2026-64029 · Linux Kernel · Dark Radar