CVE-2024-50100 in LinuxИнформация

Сводка

по VulDB • 14.06.2026

В ядре Linux устранена следующая уязвимость:

USB: gadget: dummy-hcd: исправлена проблема «task hung» (зависание задачи)

Фаззер syzbot регулярно сталкивался с проблемами «task hung» с тех пор, как драйвер dummy-hcd был изменен для использования hrtimers вместо обычных таймеров. Выяснилось, что проблемы вызваны тонким различием между API timer_pending() и hrtimer_active().

Замена была выполнена механически: первый API был заменен на второй. Однако timer_pending() возвращает True, когда таймер находится в очереди, но не тогда, когда выполняется его колбэк, тогда как hrtimer_active() возвращает True, когда hrtimer находится в очереди _или_ выполняется его колбэк. Это различие иногда приводило к тому, что dummy_urb_enqueue() ошибочно полагал, что процедура колбэка еще не началась, хотя на самом деле она почти завершена. В результате hrtimer не перезапускался, что делало невозможным для драйвера извлечение (dequeue) URB, который был только что добавлен в очередь (enqueue). Это приводило к зависанию usb_kill_urb(), и ситуация усугублялась.

Поскольку в API hrtimers отсутствует функция для определения момента, когда таймер находится в очереди, а колбэк не выполняется, драйвер должен отслеживать это состояние самостоятельно. Именно это и делает данный патч, добавляя новый флаг «timer_pending» и устанавливая или сбрасывая его в соответствующие моменты времени.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Ответственный

Linux

Резервировать

21.10.2024

Раскрытие

05.11.2024

Модерация

принято

Вход

VDB-283222

EPSS

0.00235

KEV

Нет

Деятельности

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!