CVE-2026-53390
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: ksmbd: smb_check_perm_dacl() funksiyasında sərhədləri aşan oxuma (out-of-bounds read) problemi düzəldildi smb_check_perm_dacl() funksiyasındakı icazələrin yoxlanılması üçün ACE gəzintisi ACE başlığının ölçüsünü təsdiqləyir və sid.num_subauth dəyərini SID_MAX_SUB_AUTHORITIES ilə məhdudlaşdırır, lakin compare_sids() onları istifadə etməzdən əvvəl ace->size dəyərinin həqiqətən num_subauth alt-avtoritetlərini ehtiva edəcək qədər böyük olub-olmadığını heç vaxt yoxlamır. CIFS_SID_BASE_SIZE sub_auth[] massivini istisna etməklə SID başlığını əhatə edir və offsetof(struct smb_ace, sid) ACE başlığıdır, buna görə də mövcud mühafizə mexanizmləri yalnız 8 baytlıq SID bazasını, yəni sıfır alt-avtoritetləri təmin edir. Daha sonra compare_sids() i < min(local_sid->num_subauth, ace->sid.num_subauth) şərti üçün ace->sid.sub_auth[i] dəyərini oxuyur. Yerli müqayisə SID-ləri (sid_everyone, sid_unix_NFS_mode və id_to_sid() nəticəsi) hər zaman ən azı bir alt-avtoritete malikdir və hücumçu ACE reviziya və avtoritet baytlarını (hansılar sərhədlər daxilindəki SID bazasında yerləşir) idarə edə bilir, beləliklə onlar bu SID-lərdən biri ilə uyğunlaşa və sub_auth oxumasını məcburi edə bilərlər. Təhlükəsizlik deskriptorunun sonuna yerləşdirilmiş, size == 16 və num_subauth >= 1 olan xüsusi hazırlanmış ACE, pntsd ayırmasından sonra SID_MAX_SUB_AUTHORITIES * sizeof(__le32) bayta qədər heap-də sərhədləri aşan oxumaya səbəb olur. Təhlükəsizlik deskriptoru ksmbd_vfs_get_sd_xattr() tərəfindən diskdəki məlumatın ölçüsü ilə tam uyğun gələn buferə (ndr_decode_v4_ntacl() funksiyasında kzalloc(sd_size)) yüklənir, buna görə də oxuma prosesi ayrılmış sahənin xaricində baş verir. Yanlış formalaşdırılmış deskriptor SMB2_SET_INFO vasitəsilə olduğu kimi saxlanıla bilər (DACL security.NTACL xattr-a yazılmadan əvvəl normallaşdırılmır) və növbəti SMB2_CREATE giriş yoxlaması zamanı oxuma baş verir ki, bu da onu ACL xattr-lardan istifadə edən paylaşımdakı autentifikasiya olunmuş kliyent üçün əlçatan edir. parse_dacl() və smb_inherit_dacl() paralel analizatorlarında artıq mövcud olan eyni mühafizə mexanizmlərini təkrar edərək, çatışmayan num_subauth-versus-ace_size yoxlaması əlavə edildi.
Necə düzəltmək olar
- linux linux_kernel5.15.212, 6.6.144, 6.12.95, 6.18.38, 7.1.3 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 5.15.210 ≤ v < 5.15.212, 6.6.140 ≤ v < 6.6.144, 6.12.84 ≤ v < 6.12.95, 6.18.25 ≤ v < 6.18.38, 7.0.2 ≤ v < 7.1.3, 6.1.176 | 5.15.212, 6.6.144, 6.12.95, 6.18.38, 7.1.3 |
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.
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.