CVE-2026-45842

Orta

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: slip: rstate massivi olmayan nümunələrdə VJ qəbul paketlərini rədd edin slhc_init() funksiyası rslots == 0 dəyərini 'qəbul sıxılmasının olmaması' sənədləşdirilmiş mənası ilə etibarlı konfiqurasiya kimi qəbul edir. Bu halda slhc_init()-dəki ayırma dövrü ötürülür, buna görə də comp->rstate NULL və comp->rslot_limit 0 (struct slcompress-in kzalloc-undan gələn) olaraq qalır. Qəbul köməkçiləri bu konfiqurasiyaya qarşı mühafizəyə malik deyil. VJ başlığı açıq şəkildə bağlantı ID-si daşıdıqda slhc_uncompress() comp->rstate[x]-i dereference edir və daha sonra slhc_remember(), paketin slot nömrəsini yalnız comp->rslot_limit ilə müqayisə etdikdən sonra cs = &comp->rstate[...] təyin edir. rslot_limit 0 olduğu üçün slot 0 diapazon yoxlamasından keçir və kod NULL olan rstate-i dereference edir. Bu konfiqurasiyaya PPP vasitəsilə daxili kod üzərindən çatmaq mümkündür. PPPIOCSMAXCID öz arqumentini imzalı tam ədəd (signed int) kimi saxlayır və (val >> 16) aritmetik sürüşdürmədən istifadə edir. Buna görə də 0xffff0000 ötürülməsi işarənin genişlənməsi nəticəsində -1 olur, beləliklə val2 + 1 sıfıra bərabər olur və ppp_generic.c sonda slhc_init(0, 1) çağırır. /dev/ppp açılması ns_capable(CAP_NET_ADMIN) ilə məhdudlaşdırıldığı üçün bütün yol imtiyazsız istifadəçi ad sahəsindən (user namespace) əlçatandır. Yanlış formalaşmış VJ vəziyyəti quraşdırıldıqdan sonra, slot 0-ı seçən hər hansı daxil olan VJ-sıxılmış və ya VJ-sıxılmamış freym softirq kontekstində kernel-in çökməsinə səbəb olur: 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> Belə nümunələrdə rstate-ə toxunmaq əvəzinə qəbul tərəfini rədd edin. slhc_uncompress() mövcud 'bad' etiketine keçid edir, bu da sls_i_error sayğacını artırır və toss vəziyyətinə daxil olur. slhc_remember() bunu açıq sls_i_error artımı və ardınca slhc_toss() ilə təkrarlayır; burada sls_i_runt sayğacı istifadə edilmir, çünki çatışmayan rstate daxili konfiqurasiya vəziyyətidir, runt paket deyil. Ötürmə yolu təsirlənmir: istifadəçi sahəsindən rslots seçən yeganə daxili çağırıcı (ppp_generic.c) hələ də tslots >= 1 təmin edir və slip.c həmişə slhc_init(16, 16) çağırır, buna görə də comp->tstate etibarlı qalır və slhc_compress() işləməyə davam edir.

CiddilikOrta
CVSS5.5
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc27 may 2026
İlk görülmə27 may 2026

Necə düzəltmək olar

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
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

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.

CVE-2026-45842 · Linux Kernel · Dark Radar