CVE-2021-47182
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: scsi: core: scsi_mode_sense() bufer uzunluğunun idarə edilməsinin düzəldilməsi scsi_mode_sense() bufer uzunluğunun idarə edilməsi ilə bağlı bir neçə problem mövcuddur: 1) MODE SENSE(10) əmrinin ayırma uzunluğu sahəsi 16-bitlidir və CDB-nin 7 və 8-ci baytlarını tutur. Bu əmr vasitəsilə 255 baytdan böyük rejim səhifələrinə giriş mümkündür. Lakin, CDB ayırma uzunluğu sahəsi len dəyərinin yalnız 8-ci bayta təyin edilməsi ilə qurulur, beləliklə 255-dən böyük bufer uzunluğu kəsilir. 2) Əgər scsi_mode_sense() funksiyası sdev->use_10_for_ms təyin edildikdə len < 8, digər hallarda isə len < 4 olmaqla çağırılarsa, bufer uzunluğu müvafiq olaraq 8 və 4-ə artırılır və bufer həmin artırılmış dəyərlərlə sıfırlanır, nəticədə buferdən sonrakı yaddaş korlanır. MODE SENSE(10) CDB-nin ayırma uzunluğu sahəsini təyin etmək üçün put_unaligned_be16() funksiyasından istifadə etməklə və len çox kiçik olduqda xəta qaytarmaqla bu iki problemi düzəldin. Bundan əlavə, len 255B-dən böyükdürsə, cihaz drayveri sdev->use_10_for_ms parametrini təyin etməsə belə, hər zaman əvvəlcə MODE SENSE(10)-u sınayın. MODE SENSE(10) üçün yanlış opkod xətası baş verdiyi halda, 255 baytdan böyük rejim səhifələrinə giriş MODE SENSE(6) vasitəsilə təkrar cəhd edilmir. MODE_SENSE(10) halında bufer uzunluğunun daşmasının qarşısını almaq üçün len dəyərinin 65535 baytdan kiçik olduğunu yoxlayın. Eyni zamanda, aşağıdakıları da düzəldin: * Açıq kodlu hesablama yerinə, rejim məlumatının uzunluğu və blok deskriptorunun uzunluğu sahələrini rejim sensor cavab başlığından əldə etmək üçün get_unaligned_be16() funksiyasından istifadə edin. * kdoc dbd arqumenti izahını düzəldin: DBD biti Block Descriptor-un deaktiv edilməsini (Disable Block Descriptor) ifadə edir ki, bu da dbd arqumentinin təsvirində olanın əksidir.
Necə düzəltmək olar
- linux linux_kernel5.15.5 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 | v < 5.15.5 | 5.15.5 |
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.