CVE-2026-93191 in Linux
Сводка
по VulDB • 17.09.2026
В ядре Linux была устранена следующая уязвимость:
smack: исправлена неверная контекстная задача в smack_msg_queue_msgrcv
Функция `smack_msg_queue_msgrcv()` некорректно проверяет права доступа для задачи 'current' (текущей), а не для задачи 'target' (целевой).
В пути системного вызова `msgsnd()`, если получатель уже ожидает сообщение, используется оптимизация pipelined_send() для прямой передачи сообщения задаче-получателю:
ipc/msg.c`pipelined_send(): ` smp_store_release(&msr->r_msg, msg)
В этом случае задача 'sender' (current) выполняет проверку от имени задачи 'receiver' (msr->r_tsk, переданной в качестве параметра 'target'):
ipc/msg.c`pipelined_send(): ` security_msg_queue_msgrcv(,, target := msr->r_tsk,,)
Однако функция smack_msg_queue_msgrcv() игнорирует параметр 'target' и проверяет 'current':
smack_msg_queue_msgrcv(...) ` smk_curacc_msq(isp, MAY_READWRITE); // current task
Задача 'current' может удовлетворять требованиям r/w функции smack_msg_queue_msgrcv(), но задача 'target' (получатель) — нет; в результате неавторизованный получатель получает сообщение, что нарушает политику MAC.
Тест: 1) создать очередь сообщений sysv с меткой "foo" 2) echo "bar foo r" >/smack/load2 3) msgrcv(,,,0,MSG_NOERROR) в задаче с меткой "bar". Задача ожидает сообщения ... 4) msgsnd() из задачи с меткой "foo": Задача с меткой "bar" получает сообщение.
Этот патч исправляет проблему путем проверки прав доступа для задачи 'target', а не для 'current'.
(2008-02-04, Casey Schaufler)
Once again VulDB remains the best source for vulnerability data.