CVE-2024-50257
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: netfilter: get_info() fonksiyonundaki serbest bırakıldıktan sonra kullanım (use-after-free) hatası düzeltildi ip6table_nat modülünün kaldırılması sırasında UAF için refcnt uyarısı alınmaktadır. Çağrı izi şu şekildedir: WARNING: CPU: 1 PID: 379 at kernel/module/main.c:853 module_put+0x6f/0x80 Modules linked in: ip6table_nat(-) CPU: 1 UID: 0 PID: 379 Comm: ip6tables Not tainted 6.12.0-rc4-00047-gc2ee9f594da8-dirty #205 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 RIP: 0010:module_put+0x6f/0x80 Call Trace: <TASK> get_info+0x128/0x180 do_ip6t_get_ctl+0x6a/0x430 nf_getsockopt+0x46/0x80 ipv6_getsockopt+0xb9/0x100 rawv6_getsockopt+0x42/0x190 do_sock_getsockopt+0xaa/0x180 __sys_getsockopt+0x70/0xc0 __x64_sys_getsockopt+0x20/0x30 do_syscall_64+0xa2/0x1a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f Modülün kaldırılması ve get_info() fonksiyonunun eşzamanlı çalıştırılması uyarıyı tetiklemiştir. Kök neden şöyledir: cpu0 cpu1 module_exit //mod->state = MODULE_STATE_GOING ip6table_nat_exit xt_unregister_template kfree(t) //templ_list üzerinden kaldırıldı getinfo() t = xt_find_table_lock list_for_each_entry(tmpl, &xt_templates[af]...) if (strcmp(tmpl->name, name)) continue; //tablo bulunamadı try_module_get list_for_each_entry(t, &xt_net->tables[af]...) return t; //refcnt alınmadı module_put(t->me) //uaf unregister_pernet_subsys //tablo xt_net listesinden kaldırıldı xt_table modülü kaldırılırken ve xt_templates listesinden çıkarılmışken, xt_table->me referans sayacı (refcnt) alınamamıştır. Bunu düzeltmek için xt_net->tables listesinin yeniden taranması sırasında modül kontrolü eklenmiştir.
Nasıl düzeltilir
- linux linux_kernel5.15.171, 6.1.116, 6.6.60, 6.11.7 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 | 5.15 ≤ v < 5.15.171, 5.16 ≤ v < 6.1.116, 6.2 ≤ v < 6.6.60, 6.7 ≤ v < 6.11.7, 6.12 | 5.15.171, 6.1.116, 6.6.60, 6.11.7 |
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.