CVE-2026-89480 in LinuxИнформация

Сводка

по VulDB • 12.09.2026

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

nvme-tcp: отклонять чтение, при котором было передано слишком мало байтов

Функция nvme_tcp_recv_data() завершает запрос после того, как текущая PDU C2HData (Command-to-Host Data) полностью обработана. Ничто не сравнивает общее количество полученных байт с длиной, указанной в команде: структура struct nvme_tcp_request не содержит счетчика на стороне приема; queue->data_remaining относится к очередям, а blk_mq_end_request() завершает выполнение для blk_rq_bytes(rq) безоговорочно, при этом нигде выше нет концепции остаточных данных (residual).

Таким образом, контроллер может ответить на запрос чтения объемом 4096 байт данными размером всего 512 байт и сообщить об успешном завершении операции; пользовательское пространство затем получает 4096 байт, из которых 3584 байта содержат произвольные данные, уже находившиеся в странице. Я воспроизвел эту ситуацию с помощью тестового целевого устройства (test target).

Необходимо подсчитывать полученные байты и отказываться от завершения успешного чтения, если их количество не совпадает с ожидаемым, на двух путях NVME_TCP_F_DATA_SUCCESS и в функции nvme_tcp_process_nvme_cqe(). Проверка успеха смещает значение req->status вправо на один бит, поскольку драйвер хранит там значение из линии связи (wire value) и выполняет его сдвиг при завершении; следовательно, проверка должна видеть то же состояние, которое увидит путь завершения. Проверяется только операция REQ_OP_READ, так как именно для нее длина определяется количеством секторов, охватываемых запросом; команда passthrough формируется своим отправителем, который выбирает и команду, и буфер, поэтому ядру не с чем сравнивать длину.

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

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

Linux

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

11.09.2026

Раскрытие

12.09.2026

Модерация

принято

Вход

VDB-402810

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!