CVE-2026-45842

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: slip: rstate dizisi olmayan örneklerde VJ alma paketlerini reddet slhc_init(), 'alma sıkıştırması yok' anlamında belgelenmiş olan rslots == 0 yapılandırmasını geçerli olarak kabul eder. Bu durumda slhc_init() içindeki tahsis döngüsü atlanır; böylece comp->rstate NULL kalır ve comp->rslot_limit (struct slcompress'in kzalloc işleminden dolayı) 0 olarak kalır. Alma yardımcıları bu yapılandırmaya karşı koruma sağlamamaktadır. VJ başlığı açık bir bağlantı kimliği taşıdığında slhc_uncompress() fonksiyonu comp->rstate[x] adresine erişmeye çalışır ve daha sonra slhc_remember(), paketin slot numarasını yalnızca comp->rslot_limit ile karşılaştırdıktan sonra cs = &comp->rstate[...] atamasını yapar. rslot_limit 0 olduğu için slot 0 aralık kontrolünden geçer ve kod NULL olan rstate adresine erişmeye çalışır. Bu yapılandırmaya ağaç içinde PPP aracılığıyla ulaşılabilir. PPPIOCSMAXCID argümanını imzalı bir int değerinde saklar ve (val >> 16) aritmetik kaydırma kullanır. Bu nedenle 0xffff0000 gönderilmesi işaret genişlemesiyle -1 sonucunu verir, böylece val2 + 1 değeri 0 olur ve ppp_generic.c sonunda slhc_init(0, 1) fonksiyonunu çağırır. /dev/ppp açılışı ns_capable(CAP_NET_ADMIN) tarafından denetlendiği için tüm yol ayrıcalıksız bir kullanıcı ad alanından (user namespace) erişilebilirdir. Hatalı VJ durumu kurulduktan sonra, slot 0'ı seçen herhangi bir gelen VJ-sıkıştırılmış veya VJ-sıkıştırılmamış çerçeve, çekirdeği softirq bağlamında çökertebilir: Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] RIP: 0010:slhc_uncompress (drivers/net/slip/slhc.c:519) Call Trace: <TASK> ppp_receive_nonmp_frame (drivers/net/ppp/ppp_generic.c:2466) ppp_input (drivers/net/ppp/ppp_generic.c:2359) ppp_async_process (drivers/net/ppp/ppp_async.c:492) tasklet_action_common (kernel/softirq.c:926) handle_softirqs (kernel/softirq.c:623) run_ksoftirqd (kernel/softirq.c:1055) smpboot_thread_fn (kernel/smpboot.c:160) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:164) </TASK> rstate'e dokunmak yerine bu tür örneklerde alma tarafı reddedilir. slhc_uncompress(), mevcut 'bad' etiketine düşerek sls_i_error değerini artırır ve toss durumuna girer. slhc_remember() da bunu açık bir sls_i_error artışı ve ardından slhc_toss() çağrısı ile aynalar; eksik rstate dahili bir yapılandırma durumu olduğundan, runt bir paket olmadığı için burada sls_i_runt sayacı kullanılmaz. İletim yolu etkilenmemiştir: Kullanıcı alanından rslots değerini alan tek ağaç içi çağırıcı (ppp_generic.c) hala tslots >= 1 sağlar ve slip.c her zaman slhc_init(16, 16) çağrısını yapar, dolayısıyla comp->tstate geçerli kalmaya devam eder ve slhc_compress() çalışmaya devam eder.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın27 May 2026
İlk görülme27 May 2026

Nasıl düzeltilir

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel2.6.32.70 ≤ v < 2.6.33, 3.2.75 ≤ v < 3.3, 3.4.111 ≤ v < 3.5, 3.10.96 ≤ v < 3.11, 3.12.53 ≤ v < 3.13, 3.14.60 ≤ v < 3.15, 3.18.27 ≤ v < 3.19, 4.1.17 ≤ v < 4.2, 4.3.5 ≤ v < 5.10.258, 5.11 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.141, 6.7 ≤ v < 6.12.91, 6.13 ≤ v < 6.18.33, 6.19 ≤ v < 7.0.102.6.33, 3.3, 3.5, 3.11, 3.13, 3.15, 3.19, 4.2, 5.10.258, 5.15.209, 6.1.175, 6.6.141, 6.12.91, 6.18.33, 7.0.10

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