CVE-2026-90172

Yüksek

Açıklama

Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: smb: smbdirect: kabul hatası durumunda mem pool'lardan önce QP imha ediliyor smbdirect_accept_connect_request() fonksiyonunun rdma_accept_failed hata yolunda, hemen üzerinde gönderilen receive io, QP tarafından sahiplenilir (başarılı bir gönderimden sonra recv_io NULL olarak ayarlanır). Hata yolu, smbdirect_connection_destroy_qp() fonksiyonundan önce smbdirect_connection_destroy_mem_pools() fonksiyonuna geçtiği için, söz konusu recv_io hala QP üzerinde beklerken mem pool'lar ve recv_io slab önbelleği imha edilmekteydi. smbdirect_connection_destroy_qp() içindeki boşaltma işlemi (ib_drain_qp()), recv_io'yu serbest listeye döndüren recv tamamlamasını çalıştıran işlemdir; bu nedenle havuzların önce imha edilmesi, nesnenin kmem_cache_destroy() sırasında askıda kalmasına ("Slab cache still has objects") ve daha sonra zaten imha edilmiş bir mempool içine serbest bırakılmasına (mempool_free_bulk NULL-pointer dereference) neden olur. rdma_accept_failed için önce QP'yi boşaltan, ardından mem pool'ları imha eden ve geri dönen kendi temizleme süreci eklenmiştir. Kalan etiketler (post_recv_io_failed ve sonrası), recv_io henüz gönderilmeden önce çalıştığından, mem-pools-then-qp sırasını korumaktadır. kmem_cache_destroy() sırasındaki askıda kalan recv_io: [ 3487.344647] ============================================================================= [ 3487.349942] BUG smbdirect_recv_io_cache_ffff88811ba99000 (Not tainted): Objects remaining on __kmem_cache_shutdown() [ 3487.356078] ----------------------------------------------------------------------------- [ 3487.356078] [ 3487.356738] Object 0xffff8881511c3440 @offset=13376 [ 3487.358464] Allocated in mempool_alloc_noprof+0x18c/0x290 age=1194 cpu=6 pid=22254 [ 3487.361197] mempool_alloc_noprof+0x18c/0x290 [ 3487.361542] smbdirect_connection_create_mem_pools+0x405/0x780 [ 3487.361972] smbdirect_accept_connect_request+0x5a8/0x1b80 [ 3487.362359] smbdirect_listen_rdma_event_handler+0x1579/0x1b90 [ 3487.362779] cma_cm_event_handler+0x9c/0x230 [ 3487.363096] cma_ib_req_handler+0x2682/0x45d0 [ 3487.363414] cm_process_work+0x56/0x3d0 [ 3487.363676] cm_work_handler+0x8a0e/0xd000 [ 3487.367496] process_scheduled_works+0xa07/0x13a0 [ 3487.367859] worker_thread+0x7c9/0xc80 [ 3487.368148] kthread+0x341/0x430 [ 3487.368407] ret_from_fork+0x3a8/0x7a0 [ 3487.368704] ret_from_fork_asm+0x1a/0x30 [ 3487.370307] Slab 0xffffea0005447000 objects=19 used=1 fp=0xffff8881511c0040 flags=0x100000000000240(workingset|head|node=0|zone=2) [ 3487.372840] ------------[ cut here ]------------ [ 3487.373195] WARNING: mm/slub.c:1244 at __slab_err+0x1a/0x30, CPU#6: kworker/6:84/22254 [ 3487.373759] Modules linked in: [ 3487.373993] CPU: 6 UID: 0 PID: 22254 Comm: kworker/6:84 Tainted: G B 7.1.0-next-20260623+ #88 PREEMPT(lazy) [ 3487.374778] Tainted: [B]=BAD_PAGE [ 3487.377830] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-debian-1.17.0-1 04/01/2014 [ 3487.378515] Workqueue: ib_cm cm_work_handler [ 3487.378820] RIP: 0010:__slab_err+0x1a/0x30 [ 3487.379129] Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 e8 36 00 00 00 bf 05 00 00 00 be 01 00 00 00 e8 f7 75 45 00 90 <0f> 0b 90 c3 cc cc cc cc cc 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 [ 3487.383255] RSP: 0018:ffff888220fc7050 EFLAGS: 00010093 [ 3487.383643] RAX: ffffffff8168e60a RBX: ffff88810955e640 RCX: ffff88821c381d80 [ 3487.384158] RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffffff870fa080 [ 3487.384662] RBP: ffff888220fc7068 R08: ffffffff870fa087 R09: 1ffffffff0e1f410 [ 3487.385192] R10: dffffc0000000000 R11: fffffbfff0e1f411 R12: ffffea0005447210 [ 3487.385674] R13: ffffea0005447000 R14: ffff888220fc7068 R15: ffff88812a8ab300 [ 3487.388932] FS: 0000000000000000(0000) GS:ffff888427e76000(0000) knlGS:0000000000000000 [ 3487.389529] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 3487.389934] CR2: 00007ffcf2d84fd8 CR3: 0000000111d64006 CR4: 0000000000f72ef0 [ 3487.390440] PKRU: 55555554 [ 3487.390641] Call Trace: [ 3487.390826] <TASK> [ 3 ---kesildi---

ÖnemYüksek
CVSS7.5
İstismar olasılığı—
ÜrünLinux
Yayın17 Eyl 2026
İlk görülme17 Eyl 2026

Nasıl düzeltilir

Güncelleyin
  • Linux Linux959813a3752b459ed77b0b3eaf30b9f4c6204260, 383a9480f5f40bc46454cce27ccfad532cedad9c ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linuxeb3ed1e9048cf7b2a38112f48e0f1b772bb7860d ≤ v < 959813a3752b459ed77b0b3eaf30b9f4c6204260, eb3ed1e9048cf7b2a38112f48e0f1b772bb7860d ≤ v < 383a9480f5f40bc46454cce27ccfad532cedad9c, 7.1959813a3752b459ed77b0b3eaf30b9f4c6204260, 383a9480f5f40bc46454cce27ccfad532cedad9c

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.

Intelligence 360 paketinde

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.

CVE-2026-90172 · Linux · Dark Radar