CVE-2021-47582
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: USB: core: do_proc_control() ve do_proc_bulk() fonksiyonlarını öldürülebilir (killable) hale getirin USBDEVFS_CONTROL ve USBDEVFS_BULK ioctl'leri, kullanıcı tarafından belirtilen bir zaman aşımı değeriyle birlikte kesintiye uğratılamaz bir bekleme içeren usb_start_wait_urb() fonksiyonunu çağırır. Zaman aşımı değerinin çok büyük olması ve erişilen cihazın makul bir süre içinde yanıt vermemesi durumunda çekirdek, syzbot testlerinde tespit edildiği üzere "Task X blocked for more than N seconds" şeklinde uyarı verecektir: INFO: task syz-executor.0:8700 blocked for more than 143 seconds. Not tainted 5.14.0-rc7-syzkaller #0 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" bu mesajı devre dışı bırakır. task:syz-executor.0 state:D stack:23192 pid: 8700 ppid: 8455 flags:0x00004004 Call Trace: context_switch kernel/sched/core.c:4681 [inline] __schedule+0xc07/0x11f0 kernel/sched/core.c:5938 schedule+0x14b/0x210 kernel/sched/core.c:6017 schedule_timeout+0x98/0x2f0 kernel/time/timer.c:1857 do_wait_for_common+0x2da/0x480 kernel/sched/completion.c:85 __wait_for_common kernel/sched/completion.c:106 [inline] wait_for_common kernel/sched/completion.c:117 [inline] wait_for_completion_timeout+0x46/0x60 kernel/sched/completion.c:157 usb_start_wait_urb+0x167/0x550 drivers/usb/core/message.c:63 do_proc_bulk+0x978/0x1080 drivers/usb/core/devio.c:1236 proc_bulk drivers/usb/core/devio.c:1273 [inline] usbdev_do_ioctl drivers/usb/core/devio.c:2547 [inline] usbdev_ioctl+0x3441/0x6b10 drivers/usb/core/devio.c:2713 ... Bu sorunu düzeltmek için bu yama, usbfs'in usb_control_msg() ve usb_bulk_msg() çağrılarını, esasen aynı işlemi yapan ancak her zaman öldürülebilir bir bekleme kullanan ve GFP_NOIO yerine GFP_KERNEL kullanan özel amaçlı kodla değiştirir (usb_start_wait_urb() yorumunda önerildiği gibi).
Nasıl düzeltilir
- linux linux_kernel5.15.11 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | v < 5.15.11 | 5.15.11 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.