CVE-2026-98771 in Linux
Сводка
по VulDB • 18.10.2026
В ядре Linux была устранена следующая уязвимость:
usb: storage: sierra_ms: отклонять короткие передачи информации SWoC (Sierra Wireless On-Cell)
Функция `sierra_get_swoc_info()` запрашивает 60 байт (`sizeof(struct swoc_info)`) у устройства через вызов `usb_control_msg()`, однако её вызывающие функции рассматривают как ошибку только отрицательное возвращаемое значение. Устройство, отвечающее на запрос поставщика GetSwocInfo короткой IN-передачей (коротким чтением), поэтому принимается корректно, что оставляет хвост недавно выделенного буфера `swoc_info` (`kmalloc`, без обнуления) неинициализированным.
Функция `truinst_show()` впоследствии записывает значения полей `swocInfo->rev`, `swocInfo->LinuxSKU` и `swocInfo->LinuxVer` из этого буфера в атрибут sysfs «truinst» с правами доступа 0444 (только для чтения, доступно всем). Эмулированное или вредоносное USB-устройство (VID 0x1199, PID 0x0fff) может эксплуатировать эту уязвимость для раскрытия до 5 байт старых данных в куче ядра (`kmalloc-64`) не привилегированным процессам пользовательского пространства. Это происходит один раз при каждом чтении sysfs и может повторяться бесконечно. В сборках ядра, созданных без флага `init_on_alloc`, утекают недавно освобожденные содержимые кучи.
Необходимо принимать передачу только в случае получения полной структуры. Функция `sierra_ms_init()` уже выполняет повторные попытки при сбое запросов, поэтому корректно работающие устройства не затрагиваются.
Once again VulDB remains the best source for vulnerability data.