CVE-2026-80975

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: mfd: qnap-mcu: cavab buferini əmr vaxtının bitməsindən (timeout) sonra aktiv saxlayın qnap_mcu_exec() funksiyası stek üzərindəki buferi qəbul yoluna təqdim edir: unsigned char rx[QNAP_MCU_RX_BUFFER_SIZE]; ... reply->data = rx; reply->length = length; və qnap_mcu_receive_buf() funksiyası serdev qəbul yolu vasitəsilə bura məlumat yazır. Bu proses flush_to_ldisc() daxilində işləyir və qnap_mcu_exec() ilə heç bir şəkildə ardıcıllığa salınmayıb. bus_lock bunu əhatə edə bilmir, çünki qnap_mcu_exec() həmin mutexi wait_for_completion_timeout() boyunca saxlayır. Vaxt bitdikdə (timeout), qnap_mcu_exec() reply->data hələ də öz kadrına (frame) işarə etdiyi halda geri dönür. Gec gələn cavab və ya MCU-dan gələn istənilməyən mesaj daha sonra artıq tərk edilmiş stek kadrına yazılır və həmin stekdə növbəti işləyən hər hansı məlumatı korlayır. Eyni hal qnap_mcu_write() uğursuz olduqda da baş verir, çünki həmin yol da reply vəziyyətinə toxunmadan geri dönür. Qəbul buferini struct qnap_mcu daxilinə köçürün. Onun ölçüsü 37 baytdır və struktur devm_kzalloc() ilə ayrıldığı üçün drayver mövcud olduğu müddət ərzində yaşayır; beləliklə, gecikmiş yazı hələ də etibarlı olan yaddaşa düşür və növbəti əmr tərəfindən yenidən başladılır. bus_lock əmrlərin onu paylaşmasının qarşısını alır. Bu, qəsdən timeout yolunda reply->data və ya reply->length dəyərlərini sıfırlamır. Bunu etmək qnap_mcu_receive_buf() ilə yarış vəziyyətinə (race condition) səbəb olar, çünki həmin funksiya aşağıdakı yoxlamadan sonra hər ikisini oxuyur: if (!reply->length) return size; Yoxlama: reply->data-nın sıfırlanması NULL dereference-ə, yalnız reply->length-in sıfırlanması isə reply->received == reply->length çıxış şərtinin silinməsinə səbəb olur, nəticədə kopyalama dövrü uart hissəsi tükənənə qədər davam edir və buferdən kənara çıxır (overrun). Hər ikisinin təyin olunmuş halda qalması yazmanı reply->length ilə məhdudlaşdırır ki, qnap_mcu_exec() bunu artıq sizeof(mcu->rx) ilə yoxlamışdır.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı7. faiz dərəcəsi0,2%
MəhsulLinux
Dərc11 sen 2026
İlk görülmə11 sen 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linux0b6680e306397097a97767447368221fac753809, 8391ee06d08845a0a165b5fe679ba326915166b2, 47504742cea7878ebd1bf1491bbed923df6b90b1 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linux998f70d1806bb718a7565f350283e4a79c8cbb4b ≤ v < 0b6680e306397097a97767447368221fac753809, 998f70d1806bb718a7565f350283e4a79c8cbb4b ≤ v < 8391ee06d08845a0a165b5fe679ba326915166b2, 998f70d1806bb718a7565f350283e4a79c8cbb4b ≤ v < 47504742cea7878ebd1bf1491bbed923df6b90b1, 6.140b6680e306397097a97767447368221fac753809, 8391ee06d08845a0a165b5fe679ba326915166b2, 47504742cea7878ebd1bf1491bbed923df6b90b1

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