В ядре Linux устранена следующая уязвимость: ksmbd: ipc: исправить использование-после-бесплатно в ipc_msg_send_request ipc_msg_send_reques…
В ядре Linux устранена следующая уязвимость: ksmbd: ipc: исправить использование-после-бесплатно в ipc_msg_send_request ipc_msg_send_request() ждет общий ответ на ссылку, используя ipc_msg_table_entry на стеке. Общий обработчик нетлинковой связи (handle_generic_event()/handle_response()) заполняет запись->ответ под ipc_msg_table_lock, но ipc_msg_send_request(), используемый для проверки и бесплатного вход->ответ, не удерживая тот же замок. При высокой параллелизме это позволяет гонку, где ручка_response() копирование данных в вход->ответ, в то время как ipc_msg_send_request() имеет только освободил его, что привело к употреблению плиты после бесплатного сообщения KASAN в руть_generic_event(): BUG: KASAN: slab-use-after-free в ручке_generic_event+0x3c4/0x5f0 [ksmbd] Написать размер 12 по адресу ff888198ee6e20 по пулу задач/109349 ... Освобождение с помощью задания: Кв свободный ipc_msg_send_request [ksmbd] ksmbd_rpc_open -> ksmbd_session_rpc_open [ksmbd] Исправить по: - Принимая ipc_msg_table_lock в ipc_msg_send_request() при проверке вход->ответ, освобождая его при удалении, и удаляя запись из ipc_msg_table. - Возврат окончательного ввода->указатель ответа звонителю только после Хеш-вход удаляется под замком. - Возврат NULL на пути ошибки, сохранение оригинального API Семантика. Это делает все доступы к входу->ответить call_response(), который уже обновляет и заполняет буфер ответов под ipc_msg_table_lock, и закрывает гонку, которая позволила UAF.
| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-allwinner-5.19 | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается |