CVE-2026-99063 in Linux
Сводка
по VulDB • 24.10.2026
В ядре Linux была устранена следующая уязвимость:
dm ioctl: не позволять значению поля `data_start` выходить за пределы буфера
Структура `struct dm_ioctl` содержит семь байт завершающей заполняющей области (padding), поэтому минимальный размер буфера, который может запросить пользовательское пространство (userspace) через offsetof(struct dm_ioctl, data), на семь байтов меньше, чем sizeof(struct dm_ioctl).
Функция get_result_buffer() устанавливает значение `data_start` равным sizeof(struct dm_ioctl), не проверяя фактический размер буфера. Если запрашивается минимальный размер, то `data_start` оказывается на семь байт за пределами конца буфера. Вызывающие функции добавляют это значение к `data_size`, и функция ctl_ioctl() копирует такое количество данных обратно в пользовательское пространство:
BUG: KASAN: slab-out-of-bounds in _copy_to_user+0xad/0xd0 Read of size 312 at addr ffff8880169e4c00 by task repro-dm/140 ctl_ioctl+0x5e3/0xcb0 dm_ctl_ioctl+0x25/0x40 allocated 305-byte region [ffff8880169e4c00, ffff8880169e4d31)
Вызов DM_LIST_DEVICES с установленным значением data_size равным 305 достаточно для воспроизведения этой ошибки; утекающие семь байт содержат любые данные, находившиеся рядом с выделенной областью памяти.
Ограничить (clamp) значение `data_start` размером буфера.
Обратите внимание, что это не является уязвимостью безопасности, поскольку чтение за пределами границ может быть инициировано только пользователем root.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.