CVE-2026-23107

Orta

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: arm64/fpsimd: signal: ZA bərpa edilərkən SSVE yaddaşının ayrılması ZA kontekstini bərpa etmək üçün istifadə olunan kod, TIF_SME təyin edilməzdən əvvəl tapşırığın sve_state hissəsini ayırmaq cəhd etmir. Nəticədə, ZA kontekstinin bərpası tapşırığı elə bir yanlış vəziyyətə sala bilər ki, burada TIF_SME təyin edilmişdir, lakin tapşırığın sve_state dəyəri NULL-dur. ZA siqnal kontekstinin eyni tapşırıq çərçivəsində kernel tərəfindən YARADILMADIĞI legitim, lakin nadir hallarda (məsələn, tapşırıq CRIU kimi vasitələrlə saxlanılıb bərpa edildikdə), sve_state-in əvvəllər ayrıldığından əmin ola bilmirik. Bu hallarda, userspace sve_state NULL olduğu halda trappinq olmadan axın rejiminə (streaming mode) daxil ola bilər ki, bu da sonradan kernel registrlərin vəziyyətini saxlamağa çalışdıqda NULL göstəricisinin istinadına (NULL pointer dereference) səbəb olur: | # ./sigreturn-za | Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 | Mem abort info: | ESR = 0x0000000096000046 | EC = 0x25: DABT (current EL), IL = 32 bits | SET = 0, FnV = 0 | EA = 0, S1PTW = 0 | FSC = 0x06: level 2 translation fault | Data abort info: | ISV = 0, ISS = 0x00000046, ISS2 = 0x00000000 | CM = 0, WnR = 1, TnD = 0, TagAccess = 0 | GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 | user pgtable: 4k pages, 52-bit VAs, pgdp=0000000101f47c00 | [0000000000000000] pgd=08000001021d8403, p4d=0800000102274403, pud=0800000102275403, pmd=0000000000000000 | Internal error: Oops: 0000000096000046 [#1] SMP | Modules linked in: | CPU: 0 UID: 0 PID: 153 Comm: sigreturn-za Not tainted 6.19.0-rc1 #1 PREEMPT | Hardware name: linux,dummy-virt (DT) | pstate: 214000c9 (nzCv daIF +PAN -UAO -TCO +DIT -SSBS BTYPE=--) | pc : sve_save_state+0x4/0xf0 | lr : fpsimd_save_user_state+0xb0/0x1c0 | sp : ffff80008070bcc0 | x29: ffff80008070bcc0 x28: fff00000c1ca4c40 x27: 63cfa172fb5cf658 | x26: fff00000c1ca5228 x25: 0000000000000000 x24: 0000000000000000 | x23: 0000000000000000 x22: fff00000c1ca4c40 x21: fff00000c1ca4c40 | x20: 0000000000000020 x19: fff00000ff6900f0 x18: 0000000000000000 | x17: fff05e8e0311f000 x16: 0000000000000000 x15: 028fca8f3bdaf21c | x14: 0000000000000212 x13: fff00000c0209f10 x12: 0000000000000020 | x11: 0000000000200b20 x10: 0000000000000000 x9 : fff00000ff69dcc0 | x8 : 00000000000003f2 x7 : 0000000000000001 x6 : fff00000c1ca5b48 | x5 : fff05e8e0311f000 x4 : 0000000008000000 x3 : 0000000000000000 | x2 : 0000000000000001 x1 : fff00000c1ca5970 x0 : 0000000000000440 | Call trace: | sve_save_state+0x4/0xf0 (P) | fpsimd_thread_switch+0x48/0x198 | __switch_to+0x20/0x1c0 | __schedule+0x36c/0xce0 | schedule+0x34/0x11c | exit_to_user_mode_loop+0x124/0x188 | el0_interrupt+0xc8/0xd8 | __el0_irq_handler_common+0x18/0x24 | el0t_64_irq_handler+0x10/0x1c | el0t_64_irq+0x198/0x19c | Code: 54000040 d51b4408 d65f03c0 d503245f (e5bb5800) | ---[ end trace 0000000000000000 ]--- Bu problem, restore_za_context() funksiyasının, SME trapinqi zamanı etdiyimiz kimi, tapşırığın sve_state-nin ayrılmasını təmin etməsi ilə həll edilir. Mövcud olan hər hansı canlı SVE/SSVE vəziyyəti (hansı ki, daha əvvəl ayrıca siqnal kontekstindən bərpa edilmişdir) qorunmalı və buna görə də sıfırlanmamalıdır.

CiddilikOrta
CVSS5.5
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc4 fev 2026
İlk görülmə4 fev 2026

Necə düzəltmək olar

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel5.19 ≤ v < 6.1.162, 6.2 ≤ v < 6.6.122, 6.7 ≤ v < 6.12.68, 6.13 ≤ v < 6.18.8, 6.196.1.162, 6.6.122, 6.12.68, 6.18.8

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.