CVE-2026-89738
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: usb: gadget: at91_udc: udc azad edilməzdən əvvəl sorğulanan(polled)-VBUS taymeri/işi təmizləyin Sorğulanan-VBUS rejimində (board.vbus_pin && board.vbus_polled), probe özünü yenidən başladan dövrü aktivləşdirir: at91_vbus_timer() funksiyası vbus_timer_work-u planlaşdırır və at91_vbus_timer_work() funksiyası at91_vbus_update()-i çağıraraq mod_timer() vasitəsilə taymeri yenidən aktivləşdirir. Hər ikisi eyni udc obyektini container_of vasitəsilə bərpa edir və hər iterasiyada ona müraciət edir. Sökülmə yollarının heç biri bu dövrü ləğv etmir. udc devm ilə ayrıldığı üçün at91udc_remove() geri döndükdən sonra, həmçinin probe uğursuz olduqda və devres işə düşdükdə azad edilir. Bu mərhələlərdə gözləyən və ya icra olunan taymer callback-i yaxud iş elementi azad edilmiş udc-yə müraciət edir. at91_udc_shutdown_vbus_timer() funksiyası əlavə edildi və o, at91udc_remove() daxilindən, həmçinin probe prosesində usb_add_gadget_udc() uğursuzluq yolundan çağırılır; digər probe xəta yolları taymer aktivləşməzdən əvvəl dayandırılır. timer_shutdown_sync() icra olunan callback-in tamamlanmasını gözləyir və timer->function-u təmizləyir ki, bu da iş idarəedicisinin mod_timer() çağırışını daimi olaraq əməlsiz (no-op) edir; daha sonra cancel_work_sync() gözləyən və ya icra olunan bütün işləri təmizləyir, onların yenidən aktivləşdirmə cəhdləri artıq heç bir təsir göstərmir. Taymer ilk növbədə söndürülməlidir, çünki yalnız işin ləğv edilməsi taymerin onu yenidən növbəyə düzməsinə şərait yaradar. Qoruyucu mexanizm probe prosesini əks etdirir: IRQ rejimində taymer və work_struct heç vaxt başladılmır. Bu, xətanın baş verməsini tələb etmir; standart drayver ayırma (unbind) prosesi artıq növbəyə alınmış iş elementi ilə üst-üstə düşə bilər. Bu problem daxili statik analiz aləti tərəfindən aşkar edilmişdir.
Necə düzəltmək olar
- Linux Linux2440ce54b8c4c8aa6963c181eb56164a466fbe1c, 1674e34fe61ad3f5585dc833ba6bb6522912e6a5, 723d73b245843d4fff4c3f42e857c78c2b2d414e, a2a602cb1e28d76a5398cec3fa21b0110385f501, 51a311eb97e91ce1aed3005cb71ccb2e30f8cce8, 557ef547d49ff5e6026a4d39bdd3113bd81d7688, c27d13ce4bab80fbdf6523928071b6c24b37606c və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 4037242c4f5ff77afe61bf07ca1e8a99490219e5 ≤ v < 2440ce54b8c4c8aa6963c181eb56164a466fbe1c, 4037242c4f5ff77afe61bf07ca1e8a99490219e5 ≤ v < 1674e34fe61ad3f5585dc833ba6bb6522912e6a5, 4037242c4f5ff77afe61bf07ca1e8a99490219e5 ≤ v < 723d73b245843d4fff4c3f42e857c78c2b2d414e, 4037242c4f5ff77afe61bf07ca1e8a99490219e5 ≤ v < a2a602cb1e28d76a5398cec3fa21b0110385f501, 4037242c4f5ff77afe61bf07ca1e8a99490219e5 ≤ v < 51a311eb97e91ce1aed3005cb71ccb2e30f8cce8, 4037242c4f5ff77afe61bf07ca1e8a99490219e5 ≤ v < 557ef547d49ff5e6026a4d39bdd3113bd81d7688, 4037242c4f5ff77afe61bf07ca1e8a99490219e5 ≤ v < c27d13ce4bab80fbdf6523928071b6c24b37606c, 2.6.36 | 2440ce54b8c4c8aa6963c181eb56164a466fbe1c, 1674e34fe61ad3f5585dc833ba6bb6522912e6a5, 723d73b245843d4fff4c3f42e857c78c2b2d414e, a2a602cb1e28d76a5398cec3fa21b0110385f501, 51a311eb97e91ce1aed3005cb71ccb2e30f8cce8, 557ef547d49ff5e6026a4d39bdd3113bd81d7688, c27d13ce4bab80fbdf6523928071b6c24b37606c |
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.