CVE-2026-64502
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: iio: adc: ad_sigma_delta: registrsiz cihazlar üçün clear_pending_event funksiyasının düzəldilməsi has_registers = false olan və rdy_gpiod-u olmayan cihazlar üçün ad_sigma_delta_clear_pending_event() funksiyası status registrin oxuma yoluna keçir. Belə cihazlar üçün ad_sd_read_reg() ünvan baytını tamamilə ötürür və ünvan fazası olmadan xam MISO baytlarını taktlaverir ki, bu da onu çevirmə məlumatlarının oxunması ilə bayt-bayt eyni edir. Əgər gözlənilən çevirmə nəticəsi varsa, bu proses həmin nəticəni qismən istifadə edir və ad_sigma_delta_single_conversion() daxilindəki növbəti ad_sd_read_reg() çağırışı üçün məlumat axınını korlayır. Bundan əlavə, bu cihazlarda num_resetclks = 0 olduqda, data_read_len 0 kimi qiymətləndirilir. Taktlanan baytun 7-ci biti təmizdirsə, pending_event təyin edilir və kod memset(data + 2, 0xff, 0 - 1) funksiyasını çağırmağa çalışır ki, bu da SIZE_MAX-a daşaraq heap yaddaşını korlayır. Həm rdy_gpiod, həm də has_registers təyin edilmədikdə dərhal 0 qaytarmaqla problem həll edilmişdir. Bu, bütün mövcud registrsiz cihazlar üçün təhlükəsizdir: ad7191 və ad7780 (powerdown GPIO ilə) çevirmələr arasında CS deassertion vasitəsilə sıfırlanır, buna görə də boşaltılmalı köhnə nəticə yoxdur; ad7780 (powerdown GPIO olmadan) və max11205 isə davamlı çevirmə aparırlar və əvvəlki nəticənin oxunub-oxunmamasından asılı olmayaraq çıxış məlumat sürətində ~DRDY dövrini tamamlayırlar, beləliklə növbəti düşən kənar təbii şəkildə işə düşür. Məlumat oxunana qədər ~DRDY-ni aktiv saxlayan gələcəkdəki registrsiz bir cihaz bu erkən geri dönüş səbəbindən xarab olacaq və ya num_resetclks-in təyin edilməsini, ya da rdy-gpio tələb edəcəkdir. Eyni heap korlanması rdy_gpiod təyin edilmiş, lakin num_resetclks = 0 olan istənilən cihazda baş verə bilər: əgər GPIO gözlənilən hadisəni göstərirsə, has_registers-dən asılı olmayaraq boşaltma yolu memset(data + 2, 0xff, 0 - 1) funksiyasını icra edir. Gözlənilən hadisə yoxlamasından sonra aşkar data_read_len == 0 mühafizəsi əlavə edildi; beləliklə, köhnə nəticə ad_sigma_delta_single_conversion() daxilindəki ilk ad_sd_read_reg() çağırışı tərəfindən istifadə olunur.
Necə düzəltmək olar
- Linux Linux3394e0b3328422431cadaf314fa58d3717ed4936, 3bceb26dfaf7ba805b459e41c1d0ba916862dade, 91bc6767a4f55dc470d8a56b55b9f2ea09094efe və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 132d44dc6966c1cf841ffe0f6f048165687e870b ≤ v < 3394e0b3328422431cadaf314fa58d3717ed4936, 132d44dc6966c1cf841ffe0f6f048165687e870b ≤ v < 3bceb26dfaf7ba805b459e41c1d0ba916862dade, 132d44dc6966c1cf841ffe0f6f048165687e870b ≤ v < 91bc6767a4f55dc470d8a56b55b9f2ea09094efe, 6.14 | 3394e0b3328422431cadaf314fa58d3717ed4936, 3bceb26dfaf7ba805b459e41c1d0ba916862dade, 91bc6767a4f55dc470d8a56b55b9f2ea09094efe |
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.