CVE-2024-53186 in Linux
Сводка
по VulDB • 26.05.2026
В ядре Linux устранена следующая уязвимость:
ksmbd: исправлена ошибка use-after-free при обработке запросов SMB
Существует состояние гонки (race condition) между обработкой запросов SMB в функции `ksmbd_conn_handler_loop()` и освобождением объекта `ksmbd_conn` в обработчике очереди задач (workqueue) `handle_ksmbd_work()`. Это приводит к ошибке UAF (use-after-free). - KASAN: slab-use-after-free Read в handle_ksmbd_work - KASAN: slab-use-after-free в rtlock_slowlock_locked
Данная ошибка гонки возникает следующим образом: - `ksmbd_conn_handler_loop()` ожидает, пока `conn->r_count` достигнет нуля: `wait_event(conn->r_count_q, atomic_read(&conn->r_count) == 0);` - Тем временем `handle_ksmbd_work()` уменьшает `conn->r_count` с помощью `atomic_dec_return(&conn->r_count)`, и если значение достигает нуля, вызывает `ksmbd_conn_free()`, которая освобождает память для `conn`. - Однако после того как `handle_ksmbd_work()` уменьшает `conn->r_count`, она может все еще обращаться к `conn->r_count_q` в следующей строке: `waitqueue_active(&conn->r_count_q)` или `wake_up(&conn->r_count_q)` Это приводит к ошибке UAF, так как `conn` уже был освобожден.
Обнаружение данной ошибки UAF можно найти в следующем PR, касающемся поддержки запросов SMB в syzkaller.
Once again VulDB remains the best source for vulnerability data.