CVE-2026-98050

Yüksek

Açıklama

Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: mlxsw: spectrum_ptp: GC iş kuyruğu bağlamından yapılan napi_gro_receive() çağrısını düzeltin Şu anda mlxsw_sp1_ptp_ht_gc_collect(), NAPI poll bağlamı yerine PTP çöp toplama (garbage-collection) iş kuyruğundan çalıştırılmaktadır. Bir SKB taşıyan eşleşmemiş tüm PTP girişleri için mlxsw_sp1_ptp_unmatched_finish() -> mlxsw_sp1_ptp_packet_finish() fonksiyonlarını çağırır. Gelen paketler için bu durum mlxsw_sp_rx_listener_no_mark_func() fonksiyonunu çağırır. Bu fonksiyonun sonu şöyledir: skb->protocol = eth_type_trans(skb, skb->dev); napi_gro_receive(mlxsw_skb_cb(skb)->rx_md_info.napi, skb); Buradaki napi işaretçisi, yakalanan paket NAPI bağlamında alındığında SKB kontrol bloğuna yerleştirilen işaretçidir. Daha sonra, GC eşleşmeyen girişi temizlediğinde (MLXSW_SP1_PTP_HT_GC_TIMEOUT süresine kadar), napi_gro_receive() çağrısı NAPI örneğinin GRO listesini değiştirir; eğer poll işlemi başka bir CPU üzerinde eşzamanlı olarak çalışıyorsa bu işlem güvenli değildir. mlxsw_sp1_ptp_ht_gc_collect() içerisinde softirq işlemesini önlemek için local_bh_disable() çağrılır ancak bu yalnızca yerel CPU için geçerlidir. Ayrıca, ilgili yorum güncelliğini yitirmiştir. Yorumda mlxsw_sp1_ptp_unmatched_finish() fonksiyonunun netif_receive_skb() fonksiyonunu çağırdığı belirtilmektedir. Referans verilen commit'ten beri bu bilgi doğru değildir; bu yama söz konusu yorumu tekrar doğru hale getirmektedir. mlxsw_pci_napi_devs_init(), herhangi bir koşul olmaksızın NAPI RX net_device üzerinde netif_threaded_enable() fonksiyonunu çağırır. GC ile eşzamanlı çalışabilen NAPI örneğinin poll işlemi, farklı bir CPU'da olabilir ve bağımsız olarak zamanlanmış bir kthread olarak çalışır. local_bh_disable() çağrısı buna karşı koruma sağlamaz. Sahipli NAPI thread'i başka bir CPU'da poll işleminin ortasındayken, bir tx-timestamp zaman aşımı eşleşmemiş bir giriş oluşturursa (bu durum ptp4l çalıştırılarak ve bir portun UNCALIBRATED/SLAVE durumuna ulaşması beklenerek kolayca yeniden üretilebilir), aşağıda gösterildiği gibi her iki taraf da GRO listesini eşzamanlı olarak değiştirir: [39.846] port 1 (swp1): MASTER to UNCALIBRATED on RS_SLAVE list_add corruption. next->prev should be prev (ffff8d620faf4138), but was ffff8d624150f700. (next=ffff8d620faf4138). kernel BUG at lib/list_debug.c:29! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 1 UID: 0 PID: 539 Comm: napi/mlxsw_rx-0 Not tainted 6.18.48 #1-NixOS PREEMPT(lazy) Hardware name: Mellanox Technologies Ltd. MSN2410/VMOD0001, BIOS 4.6.5 09/13/2018 RIP: 0010:__list_add_valid_or_report+0x79/0xb0 RSP: 0018:ffffcdf8c0f27c08 EFLAGS: 00010246 RAX: 0000000000000075 RBX: ffff8d624150fd00 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff8d6315d1e540 RBP: ffff8d620faf4070 R08: 0000000000000000 R09: 00000000ffffdfff R10: ffffffffa5c60fe0 R11: ffffcdf8c0f27ab8 R12: 0000000000000003 R13: 000000000000003d R14: 00000000000001bc R15: 0000000000000001 FS: 0000000000000000(0000) GS:ffff8d636f63f000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000562689a60c24 CR3: 000000015f224004 CR4: 00000000001726f0 Call Trace: <TASK> gro_receive_skb+0xee/0x230 mlxsw_sp1_ptp_got_packet+0x61/0x140 [mlxsw_spectrum] mlxsw_core_skb_receive+0xdf/0x1b0 [mlxsw_core] mlxsw_pci_napi_poll_cq_rx+0x780/0x9d0 [mlxsw_pci] __napi_poll+0x31/0x1e0 napi_threaded_poll_loop+0x16b/0x1c0 napi_threaded_poll+0x71/0xa0 kthread+0xfb/0x260 ret_from_fork+0x22d/0x260 ret_from_fork_asm+0x1a/0x30 </TASK> Kernel panic - not syncing: Fatal exception in interrupt Bu kernel paniğine yol açan mekanizma 6.18.48 ile ana hat (mainline) arasında değişmemiştir. Bu yama, PTP packet_finish() yolu için napi_gro_receive() yerine netif_receive_skb() fonksiyonunu çağıran bir gelen teslimat yardımcısı ekler. netif_receive_skb(), napi_gro_receive()'den farklı olarak, bu yolun çağrı noktasında meydana gelebileceği üzere, NAPI örneğinin poll bağlamının dışından çağrılabilir. RX istatistik muhasebesi ve skb->dev ataması korunmaya devam eder; tek değişiklik teslimat çağrısının kendisidir.

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

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.18.53, 7.2.7 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.14 ≤ v < 6.18.53, 6.19 ≤ v < 7.2.7, 7.36.18.53, 7.2.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.

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