CVE-2026-68222
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: media: msi2500: start_streaming() uğursuz olduqda növbəyə alınmış buferlərin qaytarılması vb2 freymvorku, start_streaming() funksiyasını çağırmazdan əvvəl buf_queue() vasitəsilə buferləri drayverə təhvil verir. Əgər start_streaming() həmin buferləri vb2_buffer_done() vasitəsilə geri qaytarmadan xəta döndərirsə, vb2_start_streaming() WARN_ON(owned_by_drv_count) xəbərdarlığını tetikləyir və növbəyə alınmış buferlər sızır. msi2500_start_streaming() funksiyasında hər biri bu problemə səbəb olan beş xəta yolu mövcud idi və bunlar çağırışlar arasındakı ret dəyişəninin üzərinə yazılması ilə daha da qarışıqlaşdırılmışdı: - USB cihazı artıq söküldükdə -ENODEV - mutex_lock_interruptible() kəsiləndə -ERESTARTSYS - msi2500_set_usb_adc() uğursuzluğu: ret növbəti çağırış (msi2500_isoc_init) tərəfindən səssizcə yenilənirdi, buna görə də xəta tamamilə itirdi - msi2500_isoc_init() uğursuzluğu: cleanup_queued_bufs çağırılırdı, lakin funksiya sonra msi2500_ctrl_msg()-ə keçirdi və ret dəyişənini yenidən yazaraq orijinal xətanı gizlədirdi - msi2500_ctrl_msg(CMD_START_STREAMING) uğursuzluğu: heç bir təmizlik aparılmırdı, nəticədə göndərilmiş isoc URB-ları drayver tərəfindən emal edilmək imkanı olmadan qalırdı Xəta yolları kiçik bir goto zəncirinə birləşdirildi. İndi hər bir uğursuzluq funksiyanı dayandırır, növbəyə alınmış bufer siyahısını boşaldır və real xəta kodunu qaytarır. ctrl_msg uğursuzluq yolu həmçinin kilidi açmazdan və siyahını boşaltmazdan əvvəl msi2500_isoc_cleanup() vasitəsilə əvvəlki msi2500_isoc_init() prosesini geri qaytarır. Təmizlik köməkçi funksiyası vb2_buffer_state arqumentini qəbul edir ki, start_streaming xəta yolları VB2_BUF_STATE_QUEUED (start_streaming uğursuz olduqda istifadəçi sahəsinin gözlədiyi kimi) ötürə bilsin, stop_streaming isə öz mövcud VB2_BUF_STATE_ERROR semantikasını saxlasın. Bu, 4cf3b6fd54eb kommitindəki ("media: uvcvideo: Return queued buffers on start_streaming() failure") uvcvideo düzəlişi ilə eynidir.
Necə düzəltmək olar
- Linux Linuxc74b680704baecea4620c0774de473069e0bc4e8, 2d10eedb786a13f91d76e11320fabb0bf712519f, 2de14ddb4fea04ca616403a6ba81c5e8099e9b9e, 1d58229b330b7f67fbfa07e0f2a8a51fbeafaa9a, bab9d5a67d4db96ae8c187b92b37979911302a10, 264b5380c4f8aa92dbc2983ecd2b627f1d5e0061, 3673cb0a5711e910074d69201da9e1535c03f97a, 7201c17786a498497bca57752883b90914d405ac və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < c74b680704baecea4620c0774de473069e0bc4e8, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < 2d10eedb786a13f91d76e11320fabb0bf712519f, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < 2de14ddb4fea04ca616403a6ba81c5e8099e9b9e, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < 1d58229b330b7f67fbfa07e0f2a8a51fbeafaa9a, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < bab9d5a67d4db96ae8c187b92b37979911302a10, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < 264b5380c4f8aa92dbc2983ecd2b627f1d5e0061, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < 3673cb0a5711e910074d69201da9e1535c03f97a, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < 7201c17786a498497bca57752883b90914d405ac, 3.12 | c74b680704baecea4620c0774de473069e0bc4e8, 2d10eedb786a13f91d76e11320fabb0bf712519f, 2de14ddb4fea04ca616403a6ba81c5e8099e9b9e, 1d58229b330b7f67fbfa07e0f2a8a51fbeafaa9a, bab9d5a67d4db96ae8c187b92b37979911302a10, 264b5380c4f8aa92dbc2983ecd2b627f1d5e0061, 3673cb0a5711e910074d69201da9e1535c03f97a, 7201c17786a498497bca57752883b90914d405ac |
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.