CVE-2021-4440

Yüksək

Təsvir

Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: x86/xen: USERGS_SYSRET64 paravirt çağırışını ləğv edin upstream-də commit afd30525a659ac0ae0904f0cb4a2ca75522c3123. USERGS_SYSRET64, SYSRET vasitəsilə sistem çağırışından (syscall) geri dönmək üçün istifadə olunur, lakin təyin edilmiş heç bir sysret PV hiperçağırışı olmadığı üçün Xen PV qonağı hər halda IRET hiperçağırışından istifadə edəcəkdir. Beləliklə, sysret etmək üçün bütün ön şərtləri yoxlayıb, sonra iret etmək üçün stekini yenidən Xen PV üçün dəyişdirmək əvəzinə, başlanğıcdan iret çıxışından istifadə edin. Bu, artıq sysenter compat halı üçün edildiyi kimi, ALTERNATIVE vasitəsilə asanlıqla həyata keçirilə bilər. Qeyd edilməlidir ki, bu, Xen-də istifadəçi rejiminə qayıdarkən bir neçə registrin bərpası ilə bağlı optimallaşdırmanı ləğv edir, lakin görünür ki, nüvədə qazanılan təlimatlar bu azalmanı tam kompensasiya edir (bu yam tətbiq edildikdə Xen PV qonağında nüvənin qurulması bir qədər daha sürətli oldu). Eyni zamanda köhnəlmiş sysret32 qalıqlarını silin. [ pawan: Brad Spengler və Salvatore Bonaccorso <[email protected]> 5.10 backport commit edc702b4a820 ("x86/entry_64: Add VERW just before userspace transition") ilə bağlı problemi bildiriblər. CONFIG_PARAVIRT_XXL=y olduqda, USERGS_SYSRET64 çalışma zamanı aşağıdakı şəkildə yamalandığı üçün syscall_return_via_sysret yolunda CLEAR_CPU_BUFFERS icra edilmir: .cpu_usergs_sysret64 = { 0x0f, 0x01, 0xf8, 0x48, 0x0f, 0x07 }, // swapgs; sysretq burada CLEAR_CPU_BUFFERS çatışmır. Məlum olur ki, USERGS_SYSRET64-ün ləğvi kodu sadələşdirir və CLEAR_CPU_BUFFERS-in syscall_return_via_sysret yoluna açıq şəkildə əlavə edilməsinə imkan verir. Aşağıda CONFIG_PARAVIRT_XXL=y və bu yam tətbiq edildikdəki vəziyyət göstərilib: syscall_return_via_sysret: ... <+342>: swapgs <+345>: xchg %ax,%ax <+347>: verw -0x1a2(%rip) <------ <+354>: sysretq ]

CiddilikYüksək
CVSS8.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc25 iyn 2024
İlk görülmə25 iyn 2024

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel5.10.218 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel5.10.215 ≤ v < 5.10.2185.10.218

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.