CVE-2026-64029

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: ALSA: seq: UMP çıxışının ləğvi ilə event_input prosesinin ardıcıllığının təmin edilməsi seq_ump_process_event() funksiyası, seq_ump_client_open() və seq_ump_client_close() funksiyalarındakı ilk açılış və son bağlanış keçidi ilə sinxronizasiya etmədən client->out_rfile.output obyektindən istifadə edir. Buna görə də, sonuncu çıxış istifadəsiz qaldıqda, hələ də snd_rawmidi_kernel_write() daxilində olan aktiv event_input geri çağırışı mövcud olduğu halda opened[STR_OUT] sıfıra düşə bilər və rawmidi faylı azad oluna bilər. Bu, yazma yolu öz bufer istinadını almamışdan əvvəl rawmidi alt axın runtime-nın ləğv olunmasına səbəb olur. event_input üçün görünən çıxış faylı üçün hər müştəri üzrə rwlock əlavə edilmişdir. Yeni açılmış çıxış faylı yazma tərəfi altında təqdim edilir və oxuma tərəfi çıxış axtarışından başlayaraq snd_rawmidi_kernel_write() funksiyasına qədər saxlanılır. Sonuncu çıxış bağlanması zamanı görünən çıxış faylı yazma tərəfi altında kopyalanır və təmizlənir, sonra kilid buraxılır və yadda saxlanılan rawmidi faylı azad edilir. event_input atomik sekvenser çatdırılmasından da əlçatan ola bildiyi üçün IRQ-safe rwlock qoruyucularından istifadə edilmişdir. Səhv ssenari iki yolun iştirakı ilə bağlıdır, hər sütun həmin yoldakı ardıcıllığı göstərir: Yol A etiketi: event_input yolu | Yol B etiketi: son istifadəsiz qalma yolu 1. seq_ump_process_event() client->out_rfile.output-nu oxuyur. | 1. seq_ump_client_close() opened[STR_OUT]-u sıfıra endirir. 2. snd_rawmidi_kernel_write1() hələ runtime-ı sabitləməmişdir. | 2. snd_rawmidi_kernel_release() çıxış faylını bağlayır. 3. Yazan şəxs borc alınmış alt axından istifadə etməyə davam edir. | 3. close_substream() substream->runtime-ı azad edir. Bu, rawmidi azad edilməsini rwlock-dan kənarda saxlayarkən, çıxış alt axınını və runtime-ı bütün event_input yazma prosesi boyunca aktiv saxlayır. KASAN bunu snd_rawmidi_kernel_write1() funksiyasında slab-use-after-free kimi təkrarlayıb; burada allokasiya seq_ump_use()/snd_seq_port_connect() vasitəsilə, azad edilmə isə seq_ump_unuse()/snd_seq_port_disconnect() vasitəsilə baş vermişdir. Doğrulama zamanı bu kernel hesabatı təkrarlanmışdır: 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 (?:?)

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc19 iyl 2026
İlk görülmə19 iyl 2026

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.6.142, 6.12.92, 6.18.34, 7.0.11 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
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

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.

CVE-2026-64029 · Linux Kernel · Dark Radar