CVE-2023-53578
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net: qrtr: qrtr_tx_resume() fonksiyonundaki başlatılmamış değişken erişim hatası düzeltildi Syzbot şu şekilde bir hata bildirmiştir: ===================================================== BUG: KMSAN: uninit-value in qrtr_tx_resume+0x185/0x1f0 net/qrtr/af_qrtr.c:230 qrtr_tx_resume+0x185/0x1f0 net/qrtr/af_qrtr.c:230 qrtr_endpoint_post+0xf85/0x11b0 net/qrtr/af_qrtr.c:519 qrtr_tun_write_iter+0x270/0x400 net/qrtr/tun.c:108 call_write_iter include/linux/fs.h:2189 [inline] aio_write+0x63a/0x950 fs/aio.c:1600 io_submit_one+0x1d1c/0x3bf0 fs/aio.c:2019 __do_sys_io_submit fs/aio.c:2078 [inline] __se_sys_io_submit+0x293/0x770 fs/aio.c:2048 __x64_sys_io_submit+0x92/0xd0 fs/aio.c:2048 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd Başlatılmamış değer şurada oluşturuldu: slab_post_alloc_hook mm/slab.h:766 [inline] slab_alloc_node mm/slub.c:3452 [inline] __kmem_cache_alloc_node+0x71f/0xce0 mm/slub.c:3491 __do_kmalloc_node mm/slab_common.c:967 [inline] __kmalloc_node_track_caller+0x114/0x3b0 mm/slab_common.c:988 kmalloc_reserve net/core/skbuff.c:492 [inline] __alloc_skb+0x3af/0x8f0 net/core/skbuff.c:565 __netdev_alloc_skb+0x120/0x7d0 net/core/skbuff.c:630 qrtr_endpoint_post+0xbd/0x11b0 net/qrtr/af_qrtr.c:446 qrtr_tun_write_iter+0x270/0x400 net/qrtr/tun.c:108 call_write_iter include/linux/fs.h:2189 [inline] aio_write+0x63a/0x950 fs/aio.c:1600 io_submit_one+0x1d1c/0x3bf0 fs/aio.c:2019 __do_sys_io_submit fs/aio.c:2078 [inline] __se_sys_io_submit+0x293/0x770 fs/aio.c:2048 __x64_sys_io_submit+0x92/0xd0 fs/aio.c:2048 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd Bunun nedeni, qrtr_tx_resume() fonksiyonunda skb->len değerinin en az sizeof(struct qrtr_ctrl_pkt) boyutunda olması gerekmesidir. qrtr_endpoint_post() fonksiyonunda ise skb->len değeri size parametresine eşittir. Ancak syzbot senaryosunda, qrtr_endpoint_post() içinde qrtr_cb->type değeri QRTR_TYPE_RESUME_TX olduğunda, size değeri sizeof(struct qrtr_ctrl_pkt) değerinden daha küçüktür. Bu durum, başlatılmamış değişken erişim hatasını tetikler. Hatayı gidermek için qrtr_endpoint_post() fonksiyonunda qrtr_cb->type değeri QRTR_TYPE_RESUME_TX olduğunda bir boyut kontrolü eklenmiştir.
Nasıl düzeltilir
- linux linux_kernel5.10.178, 5.15.108, 6.1.25, 6.2.12 ya da sonraki bir sürüm
- git.kernel.org/stable/c/3814d211ff13ee35f2d9437439a6c7df58524137
- git.kernel.org/stable/c/6417070918de3bcdbe0646e7256dae58fd8083ba
- git.kernel.org/stable/c/8c9ce34a6ff2c544f96ce0b088e8fd3c1b9698c4
- git.kernel.org/stable/c/bef57c227b52c2bde00fad33556175d36d12cfa0
- git.kernel.org/stable/c/c6a796ee5a639ffb83c6e5469408cc2ec16cac6a
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.6 ≤ v < 5.10.178, 5.11 ≤ v < 5.15.108, 5.16 ≤ v < 6.1.25, 6.2 ≤ v < 6.2.12, 6.3 | 5.10.178, 5.15.108, 6.1.25, 6.2.12 |
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.