CVE-2026-98647
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: bpf: btf_struct_walk() fonksiyonundaki sıfıra bölme hatası düzeltildi Bir erişim struct sınırlarını aştığında ve son üye esnek bir dizi (flexible array) olduğunda, btf_struct_walk() (off - moff) % t->size işlemiyle ofseti tek bir öğeye indirger ancak öğe tipinin bir boyuta sahip olup olmadığını kontrol etmez. BTF boş bir struct yapısını kabul eder, bu nedenle program BTF içeriğindeki şu yapı: /* event boş olabilir */ struct event { #ifdef HAVE_TIMESTAMP __u64 ts; #endif }; struct batch { int nr; struct event events[]; }; program yükleme sırasında sıfıra bölme işlemine yol açar. Bu durumun oluşması için MEM_ALLOC olmayan bir PTR_TO_BTF_ID gereklidir; örneğin, uyutulabilir (sleepable) bir programdan gelen bir haritada saklanan yerel bir kptr'nin basitçe okunması gibi. Oops: divide error: 0000 [#1] SMP KASAN PTI RIP: 0010:btf_struct_walk+0x53f/0x1570 Call Trace: <TASK> btf_struct_access+0x42a/0xcd0 check_ptr_to_btf_access+0x4dc/0x1160 check_mem_access+0x3a45/0x8740 check_load_mem+0x36a/0xd10 do_check_common+0x3ef0/0xb210 bpf_check+0x6d3b/0x8580 bpf_prog_load+0xf7c/0x2720 __sys_bpf+0xa83/0x3690 __x64_sys_bpf+0xc7/0x150 x64_sys_call+0x1f3f/0x27e0 do_syscall_64+0xe5/0x610 entry_SYSCALL_64_after_hwframe+0x76/0x7e </TASK> Sıfır boyutlu öğe tipi reddedilir. Aynı fonksiyondaki sabit dizi yolu zaten aynı durumda işlemi durdurmaktadır: btf_struct_walk() ... /* boş diziyi atla */ if (moff == mtrue_end) continue; msize /= total_nelems;
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| microsoft azl3_kernel_6.6.157.1-1 | Aralık belirtilmemiş | — |
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.