CVE-2021-47182

Orta

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.

CiddilikOrta
CVSS5.5
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc10 apr 2024
İlk görülmə10 apr 2024

Necə düzəltmək olar

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

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernelv < 5.15.55.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.

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