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

Сводка

по VulDB • 28.10.2026

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

net/iucv: исправлено обновление окна для recvmsg

Функция iucv_sock_recvmsg() отправляет флаг AF_IUCV_FLAG_WIN, предназначенный только для HiperSockets, без проверки типа транспорта. В результате на классическом сокете z/VM функция iucv_send_ctrl() пытается определить размер skb через NULL-указатель iucv->hs_dev. Поскольку SO_MSGLIMIT принимает значение 1, выражение msglimit / 2 равно нулю, и одного вызова recvmsg() для отдельного сокета достаточно тому, чтобы не привилегированный процесс мог вызвать ложное отключение соединения (spurious disconnect).

Кроме того, функция вызывает iucv_send_ctrl() под блокировкой spin_lock_bh(&message_q.lock), что приводит к выделению памяти с флагом GFP_KERNEL внутри участка кода, который обрабатывается как атомарный. Отправка вне этой блокировки позволяет двум вызовам recvmsg() одновременно достичь функции afiucv_hs_send(), где значение msg_recv выбирается для объявленного окна и вычитается после dev_queue_xmit(). Вызов sendmsg достигает этого счетчика под блокировкой lock_sock(), в то время как recvmsg не удерживает блокировку сокета, поэтому оба могут вычесть одно и то же значение. В результате счетчик становится отрицательным, а кредит отправляется на узел-партнер дважды.

Предлагается проверить тип транспорта, захватить кредит с помощью atomic_xchg() после последнего выхода из функции при ошибке и вернуть его, если передача не удалась, а также выполнять отправку только после снятия блокировки.

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

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

Linux

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

25.09.2026

Раскрытие

28.10.2026

Модерация

принято

Вход

VDB-427851

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!