CVE-2026-89483

Yüksek

Açıklama

Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: nvme: discard yedek sayfasını sıfırla nvme_setup_discard(), komut kaç aralık beyan ederse etsin, bazı cihazlar 'Number of Ranges' alanını yoksaydığı için her zaman sizeof(struct nvme_dsm_range) * NVME_DSM_MAX_RANGES = 4096 baytı DSM yükü olarak eşler - Fixes: commit kaydı, beyan edilen aralıkların ötesini okuyan iki durumu belgelemektedir. Tek bir aralıklı discard işlemi yalnızca ilk 16 baytı doldurur. Normalde tampon bellek kzalloc() ile gelir ve diğer 4080 bayt sıfırdır. Bu tahsis başarısız olduğunda, kod denetleyici başına düşen ctrl->discard_page seçeneğine geri döner; bu sayfa nvme_init_ctrl() tarafından alloc_page(GFP_KERNEL) ile alınır ve hiçbir zaman sıfırlanmaz, dolayısıyla bu 4080 bayt sayfanın en son tuttuğu değerler neyse odur ve denetleyiciye aktarılır. Buraya ulaşmak için kzalloc(GFP_ATOMIC | __GFP_NOWARN) işleminin başarısız olması gerekir, yani bellek baskısı oluşmalıdır; bu durum uzaktan tetiklenemez. Tahsisin KMSAN altında başarısız olması, sızdırılan kuyruk kısmının vmemmap struct page işaretçileriyle dolu olduğu bir senaryo ile bunu yeniden üretir. Rapordaki kapsam, tüm 4096 bayt değil, yükün kısmi bir transferidir; buradaki 16 baytlık sınır, beyan edilen tek aralıktır: [ 11.991601] BUG: KMSAN: uninit-value in dma_map_phys+0x14c8/0x1900 [ 11.991969] dma_map_phys+0x14c8/0x1900 [ 11.992220] dma_map_page_attrs+0xcf/0x130 [ 11.992485] e1000_xmit_frame+0x4099/0x6d10 [ 11.992768] dev_hard_start_xmit+0x22f/0xa80 [ 11.993068] sch_direct_xmit+0x35c/0xcb0 [ 11.993315] __dev_queue_xmit+0x1ee5/0x5eb0 [ 11.993608] ip_finish_output2+0x1903/0x1c30 [ 11.993881] ip_finish_output+0x288/0x870 [ 11.994125] ip_output+0x15e/0x400 [ 11.994365] __ip_queue_xmit+0x1e85/0x1fb0 [ 11.994639] ip_queue_xmit+0x60/0x80 [ 11.994899] __tcp_transmit_skb+0x4e71/0x5fa0 [ 11.995210] tcp_write_xmit+0x3a36/0x9160 [ 11.995533] __tcp_push_pending_frames+0xc5/0x3c0 [ 11.995854] tcp_push+0x7dc/0x840 [ 11.996076] tcp_sendmsg_locked+0x766c/0x8400 [ 11.996371] tcp_sendmsg+0x4b/0x90 [ 11.996572] inet_sendmsg+0x134/0x2a0 [ 11.996823] __sock_sendmsg+0x265/0x360 [ 11.997076] sock_sendmsg+0x100/0x1e0 [ 11.997293] nvme_tcp_try_send+0x196f/0x6370 [ 11.997605] nvme_tcp_queue_rq+0x1d54/0x20b0 [ 11.997882] blk_mq_dispatch_rq_list+0x5ee/0x2e50 [ 11.998175] __blk_mq_sched_dispatch_requests+0x16dc/0x24a0 [ 11.998539] blk_mq_sched_dispatch_requests+0x11b/0x2c0 [ 11.998865] blk_mq_run_work_fn+0x13b/0x280 [ 11.999146] process_scheduled_works+0x966/0x1ad0 [ 11.999465] worker_thread+0xe44/0x1480 [ 11.999709] kthread+0x53b/0x600 [ 11.999927] ret_from_fork+0x29f/0x7c0 [ 12.000191] ret_from_fork_asm+0x1a/0x30 [ 12.000460] [ 12.000558] Uninit was created at: [ 12.000788] __alloc_frozen_pages_noprof+0x8bf/0xd30 [ 12.001096] alloc_pages_mpol+0x1d0/0x5f0 [ 12.001326] alloc_pages_noprof+0x102/0x290 [ 12.001627] nvme_init_ctrl+0x5a3/0x9f0 [ 12.001891] nvme_tcp_create_ctrl+0xd75/0x19b0 [ 12.002170] nvmf_dev_write+0x4c68/0x4fd0 [ 12.002426] vfs_write+0x587/0x1a10 [ 12.002636] __x64_sys_write+0x207/0x4f0 [ 12.002874] x64_sys_call+0x2ff0/0x3ea0 [ 12.003123] do_syscall_64+0x147/0x3b0 [ 12.003400] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 12.003680] [ 12.003777] Bytes 16-2843 of 2844 are uninitialized [ 12.004068] Memory access of size 2844 starts at ffff888109f82000 [ 12.004412] [ 12.004530] CPU: 0 UID: 0 PID: 101 Comm: kworker/0:1H Not tainted 7.2.0-rc5-NVMECTL-gf5098b6bae76 #1 PREEMPT(lazy) [ 12.005127] Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 12.005762] Workqueue: kblockd blk_mq_run_work_fn [ 12.006073] ===================================================== Sayfa __GFP_ZERO ile tahsis edilir. Tek tahsis noktası bunun her kullanımını kapsar: discard işleminin yazmadığı baytlar sıfır kalır ve yazdığı baytlar ise halihazırda gönderilmiş olan denetleyicinin kendi aralık listesini tutar.

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

Nasıl düzeltilir

Güncelleyin
  • Linux Linux76139b5bbf531e675934b97227be3521c7fdd537, 3f84d2bd0d8ae8c7e8e0f8fc3cbf018a282971a1, 415f2772ebcbc7f3f1ab1a71915dab82cee3465e, 66b5af23b6f956e57f8205c46aa80b054631be34, dc4d4b70a863f7e39ef8bd137634be4e6db8b084, 67551d8430df94c827e1830bd3a5fae1f66a5219, f5827817b4fc7feeabf4f53fb4b626e6edc52fef, bededeaaeff404978a5a8e2a605a6c3017cddd3e, 4.20, 5.5 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linux530436c45ef2e446c12538a400e465929a0b3ade ≤ v < 76139b5bbf531e675934b97227be3521c7fdd537, 530436c45ef2e446c12538a400e465929a0b3ade ≤ v < 3f84d2bd0d8ae8c7e8e0f8fc3cbf018a282971a1, 530436c45ef2e446c12538a400e465929a0b3ade ≤ v < 415f2772ebcbc7f3f1ab1a71915dab82cee3465e, 530436c45ef2e446c12538a400e465929a0b3ade ≤ v < 66b5af23b6f956e57f8205c46aa80b054631be34, 530436c45ef2e446c12538a400e465929a0b3ade ≤ v < dc4d4b70a863f7e39ef8bd137634be4e6db8b084, 530436c45ef2e446c12538a400e465929a0b3ade ≤ v < 67551d8430df94c827e1830bd3a5fae1f66a5219, 530436c45ef2e446c12538a400e465929a0b3ade ≤ v < f5827817b4fc7feeabf4f53fb4b626e6edc52fef, 530436c45ef2e446c12538a400e465929a0b3ade ≤ v < bededeaaeff404978a5a8e2a605a6c3017cddd3e, ffa56cbdd2409b522b4cb56461bea1c45889417b, 8b0acb768a06083b0d28bace1481c1f6679e76f4, 4.19.92 ≤ v < 4.20, 5.4.7 ≤ v < 5.5, 5.576139b5bbf531e675934b97227be3521c7fdd537, 3f84d2bd0d8ae8c7e8e0f8fc3cbf018a282971a1, 415f2772ebcbc7f3f1ab1a71915dab82cee3465e, 66b5af23b6f956e57f8205c46aa80b054631be34, dc4d4b70a863f7e39ef8bd137634be4e6db8b084, 67551d8430df94c827e1830bd3a5fae1f66a5219, f5827817b4fc7feeabf4f53fb4b626e6edc52fef, bededeaaeff404978a5a8e2a605a6c3017cddd3e, 4.20, 5.5

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-89483 · Linux · Dark Radar