В ядре Linux устранена следующая уязвимость:
NFSD: обработка stid макета в nfsd4_drop_revoked_stid().
nfsd4_drop_revoked_stid() не имеет случая SC_TYPE_LAYOUT, поэтому, когда
клиент отправляет FREE_STATEID для отозванного администратором stid макета,
ветка по умолчанию освобождает cl_lock и возвращает без разхеширования или
отпуская stid. Stid остается в РДЭ и на фондовом рынке.
список для каждого клиента, пока клиент не будет уничтожен. Удалите stid макета из списка клиентов и вызовите
nfs4_put_stid(), чтобы удалить ссылку на создание.
Когда
refcount достигает нуля, nfsd4_free_layout_stateid() обрабатывает
оставшаяся очистка: отмена рабочего ограждения, удаление из
список файлов и освобождение объекта плиты.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: NFSD: Handle layout stid in nfsd4_drop_revoked_stid() nfsd4_drop_revoked_stid() has no SC_TYPE_LAYOUT case, so when a client sends FREE_STATEID for an admin-revoked layout stid, the default branch releases cl_lock and returns without unhashing or releasing the stid. The stid remains in the IDR and on the per-client list until the client is destroyed. Remove the layout stid from the per-client list and call nfs4_put_stid() to drop the creation reference. When the refcount reaches zero, nfsd4_free_layout_stateid() handles the remaining cleanup: cancelling the fence worker, removing from the per-file list, and freeing the slab object.
Характеристики атаки
Последствия
Строка CVSS v3.1