CVE-2026-68213
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: media: rtl2832_sdr: start_streaming() uğursuz olduqda növbədə olan 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ətasını verir və növbədə olan buferlər itir (leak). rtl2832_sdr_start_streaming() funksiyasında bu vəziyyətə səbəb olan çox sayda xəta yolu mövcud idi: iki birbaşa erkən geri dönüş (-ENODEV, -ERESTARTSYS), həmçinin subdev s_power, tuner qurulması, ADC qurulması, axın-buferi ayırması, urb ayırması və urb göndərilməsi uğursuzluqlarını əhatə edən altı `goto err` yolu. Bunların heç biri növbədə olan buferləri geri qaytarmırdı. Orijinal funksiyanın ayrıca uğurlu çıxış nöqtəsi yox idi və birbaşa err etiketine keçirdi, hansı ki, əvvəllər yalnız mutex_unlock və "return ret" əməliyyatlarını yerinə yetirirdi. Buna görə də, err etiketində növbədə olan buferlərin təmizlənməsinin əlavə edilməsi, açıq şəkildə uğurlu geri dönüşlə birləşdirilməlidir; əks halda, hər bir uğurlu başladılma prosesi bufer növbəsini boşaldacaq və axını dayandıracaqdı. Uğurlu geri dönüş əlavə edildi, daha sonra isə err etiketində və hər bir erkən geri dönüşdən əvvəl rtl2832_sdr_cleanup_queued_bufs() çağırıldı. Təmizləmə 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 uvcvideo düzəlişini ("media: uvcvideo: Return queued buffers on start_streaming() failure") təkrar edir. err etiketi hələ də power_ctrl(), frontend_ctrl(), POWER_ON bayrağı və ya uğursuz addımdan əvvəl baş vermiş ola biləcək axın/URB ayırmalarını geri qaytarmır. Bunlar fərqli sinifə aid mövcud sızmalardır və burada nəzərə alınmamışdır.
Necə düzəltmək olar
- Linux Linuxfd1e11fc3849169285e48b2d4ec441614ad2ea74, 772f2550fe32357557d3b2f88e02f7cf477f0789, a248273f8af6e630a03e823274385725974009b5, 465dc8e71d2db2ed603e749fa71392bcdccf07eb, 0b08c0403cf672a121ace4eff647a9b240bd4e1b, 894e83509c66910112b9eaeaa8cd66cd9806db91, fc0b18782aab4e35078efe72863df8eab46560a8, 33ca0aab6f4bd90921fc1395478f38f72c4d19af və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < fd1e11fc3849169285e48b2d4ec441614ad2ea74, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < 772f2550fe32357557d3b2f88e02f7cf477f0789, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < a248273f8af6e630a03e823274385725974009b5, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < 465dc8e71d2db2ed603e749fa71392bcdccf07eb, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < 0b08c0403cf672a121ace4eff647a9b240bd4e1b, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < 894e83509c66910112b9eaeaa8cd66cd9806db91, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < fc0b18782aab4e35078efe72863df8eab46560a8, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < 33ca0aab6f4bd90921fc1395478f38f72c4d19af, 3.15 | fd1e11fc3849169285e48b2d4ec441614ad2ea74, 772f2550fe32357557d3b2f88e02f7cf477f0789, a248273f8af6e630a03e823274385725974009b5, 465dc8e71d2db2ed603e749fa71392bcdccf07eb, 0b08c0403cf672a121ace4eff647a9b240bd4e1b, 894e83509c66910112b9eaeaa8cd66cd9806db91, fc0b18782aab4e35078efe72863df8eab46560a8, 33ca0aab6f4bd90921fc1395478f38f72c4d19af |
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.