CVE-2025-38346
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ftrace: ftrace devre dışı bırakıldıktan sonra kallsym araması yapıldığında meydana gelen serbest bırakıldıktan sonra kullanım (UAF) hatası düzeltildi Hatalı bir modül ile şu sorun meydana gelmektedir: BUG: unable to handle page fault for address: ffffffffc05d0218 PGD 1bd66f067 P4D 1bd66f067 PUD 1bd671067 PMD 101808067 PTE 0 Oops: Oops: 0000 [#1] SMP KASAN PTI Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS RIP: 0010:sized_strscpy+0x81/0x2f0 RSP: 0018:ffff88812d76fa08 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffffffffc0601010 RCX: dffffc0000000000 RDX: 0000000000000038 RSI: dffffc0000000000 RDI: ffff88812608da2d RBP: 8080808080808080 R08: ffff88812608da2d R09: ffff88812608da68 R10: ffff88812608d82d R11: ffff88812608d810 R12: 0000000000000038 R13: ffff88812608da2d R14: ffffffffc05d0218 R15: fefefefefefefeff FS: 00007fef552de740(0000) GS:ffff8884251c7000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffc05d0218 CR3: 00000001146f0000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> ftrace_mod_get_kallsym+0x1ac/0x590 update_iter_mod+0x239/0x5b0 s_next+0x5b/0xa0 seq_read_iter+0x8c9/0x1070 seq_read+0x249/0x3b0 proc_reg_read+0x1b0/0x280 vfs_read+0x17f/0x920 ksys_read+0xf3/0x1c0 do_syscall_64+0x5f/0x2e0 entry_SYSCALL_64_after_hwframe+0x76/0x7e Yukarıdaki sorun şu şekilde gerçekleşebilir: (1) kprobe tracepoint eklenir; (2) insmod test.ko çalıştırılır; (3) Modül ftrace'in devre dışı kalmasını tetikler; (4) rmmod test.ko çalıştırılır; (5) cat /proc/kallsyms komutu çalıştırılır; --> test.ko zaten kaldırıldığı için UAF tetiklenecektir; ftrace_mod_get_kallsym() ... strscpy(module_name, mod_map->mod->name, MODULE_NAME_LEN); ... Sorun, bir modülün ftrace ile ilgili bir hata tetiklemesi ve ftrace_disable değerini ayarlaması durumunda ortaya çıkar. Bir anomali tespit edildiğinde daha fazla hasarı önlemek amacıyla ftrace_disable ayarlanır ve ftrace tüm metin düzenlemelerini durdurur. Meydana gelen sorun, ftrace_disable özelliğinin sadece metin düzenlemesini değil, daha fazlasını durdurmasıdır. Bir modül yüklendiğinde, onun init fonksiyonları da izlenebilir. kallsyms, bir modül yüklendikten sonra init fonksiyonlarını sildiği için ftrace, modül yüklendiğinde ve fonksiyon izleme etkinleştirildiğinde bunları kaydeder. Bu, fonksiyon izleme çıktısının ham bellek adresleri yerine init fonksiyon isimlerini göstermesini sağlar. Bir modül kaldırıldığında ftrace_release_mod() çağrılır ve eğer ftrace_disable ayarlıysa, başka hiçbir işlem yapmadan geri döner. Buradaki sorun, mod_list'in hala mevcut kalmasıdır ve kallsyms çağrıldığında bu kod üzerinden erişim sağlanarak halihazırda serbest bırakılmış olan modül belleğine erişilmeye çalışılır: strscpy(module_name, mod_map->mod->name, MODULE_NAME_LEN); Burada "mod" artık mevcut değildir ve bu durum bir UAF hatasını tetikler.
Nasıl düzeltilir
- linux linux_kernel5.4.295, 5.10.239, 5.15.186, 6.1.142, 6.6.95, 6.12.35, 6.15.4 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 | 4.15 ≤ v < 5.4.295, 5.5 ≤ v < 5.10.239, 5.11 ≤ v < 5.15.186, 5.16 ≤ v < 6.1.142, 6.2 ≤ v < 6.6.95, 6.7 ≤ v < 6.12.35, 6.13 ≤ v < 6.15.4 | 5.4.295, 5.10.239, 5.15.186, 6.1.142, 6.6.95, 6.12.35, 6.15.4 |
| debian debian_linux | 11.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.
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.