CVE-2026-53360

Yüksək

Təsvir

Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: KVM: SEV: GHCB v2+ istifadə olunursa, GHCB daxilində scratch sahəsi tələb olunur GHCB spesifikasiyasına əsasən, GHCB v2+ istifadə edildikdə proqram təminatı scratch sahəsinin GHCB-nin paylaşılan buferində yerləşməsi tələb olunur. Qeyd edək ki, Səhifə Vəziyyətinin Dəyişdirilməsi (PSC) sorğuları kimi əməliyyatlar bu davranışa _əsaslanır_, çünki qonaq sorğu göndərərkən uzunluq təqdim edə bilməz, yəni qonaq yükünün ölçüsü paylaşılan buferin ölçüsü ilə məhdudlaşır. GHCB-nin istifadəsini məcburi etməmək və bir sıra digər qüsurlar zərərli SNP qonağının host kernel heap yaddaşını korlamasına və host heap yerləşmə məlumatlarını sızdırmasına imkan verir. setup_vmgexit_scratch() funksiyası kvzalloc(exit_info_2) vasitəsilə bufer ayırır, burada exit_info_2 qonaq tərəfindən idarə olunur. exit_info_2=24 olduqda bu, kmalloc-cg-32-də (32 baytlıq slab obyektləri) 24 baytlıq ayırma yaradır. Bufer 8 baytlıq psc_hdr və ardınca 8 baytlıq psc_entry strukturlarını saxlayır, buna görə yalnız entries[0] və entries[1] sərhədlər daxilindədir. snp_begin_psc() funksiyası end_entry dəyərini VMGEXIT_PSC_MAX_COUNT (253) ilə yoxlayır, lakin faktiki bufer ölçüsü ilə YOXLAMIR: idx_end = hdr->end_entry; if (idx_end >= VMGEXIT_PSC_MAX_COUNT) { // 253 yoxlayır, buferi yox snp_complete_psc(svm, ...); return 1; } for (idx = idx_start; idx <= idx_end; idx++) { entry_start = entries[idx]; // idx >= 2 olduqda sərhəddən kənar Qonaq end_entry=10+ təyin edir və hostun entries[2+] elementlərini iterasiya etməsinə səbəb olur ki, bunlar bitişik slab obyektlərinə sərhəddən kənar düşür. Hər sərhəddən kənar element üçün: - Host 8 bayt oxuyur (sərhəddən kənar OXUMA / məlumat sızması orakulu) - Əgər məlumat PSC validasiyasından keçirsə, __snp_complete_one_psc() elementə cur_page = 1 və ya 512 yazır (sərhəddən kənar YAZMA, sev.c:3806) - Əgər validasiya uğursuz olarsa, xəta cavabı bitişik yaddaşın sıfır və ya sıfırdan fərqli olduğunu açıqlayır (qonağa məlumat sızması) Qonaq ayırma ölçüsünü (exit_info_2), element aralığını (cur_entry/end_entry) idarə edir və müxtəlif slab mövqelərinə dəfələrlə toxunmaq üçün limitsiz VMGEXIT tetikləyə bilər. Müxtəlif qüsurlardan istifadə edərək zərərli SEV-SNP qonağı aşağıdakıları edə bilər: - Bitişik kmalloc-cg-32 obyektlərini sərhəddən kənar oxuya bilər (heap yerləşməsinin açıqlanması) - Bitişik obyektlərə cur_page bitlərini sərhəddən kənar yaza bilər (heap korlanması) - VMGEXIT-lər arasında istifadədən sonra azad etmə vəziyyətlərini tetikləyə bilər Məsələn, KASAN aktiv olduqda, PoC qonaq modulunun tək bir insmod əməliyyatı 73 KASAN hesabatı yaradır: BUG: KASAN: slab-out-of-bounds in snp_begin_psc+0x126/0x890 Read of size 8 at addr ffff888219ffb5e0 by task qemu-system-x86/2199 BUG: KASAN: slab-out-of-bounds in snp_begin_psc+0x468/0x890 Write of size 8 at addr ffff888351566648 by task qemu-system-x86/2199 The buggy address belongs to the object at ffff888XXXXXXXXX which belongs to the cache kmalloc-cg-32 of size 32 The buggy address is located N bytes to the right of allocated 32-byte region [ffff888XXXXXXXXX, ffff888XXXXXXXXX) Bölgü: 62 slab-out-of-bounds (ayırmadan kənar oxumalar + yazmalar) 7 slab-use-after-free 4 use-after-free Bütün kredit gözəl təsvir və reproducer üçün Stan-a aiddir! [sean: changelog yazdı]

CiddilikYüksək
CVSS8.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc4 iyl 2026
İlk görülmə4 iyl 2026

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.12.93, 6.18.35, 7.0.12 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel6.10 ≤ v < 6.12.93, 6.13 ≤ v < 6.18.35, 6.19 ≤ v < 7.0.12, 7.16.12.93, 6.18.35, 7.0.12

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