В ядре Linux устранена следующая уязвимость:
nfsd: проверка владения клиентом при отмене уведомления о копировании StateID
На пути OFFLOAD_CANCEL (clp != NULL) метод Manage_cpntf_state() освободил
целевое состояние cpntf без проверки владения. Ключ поиска
st->si_opaque.so_id выделяется циклически (можно угадать), и встроенный
clientid — это фиксированный сетевой nn->s2s_cp_cl_id, поэтому любой аутентифицированный
Клиент NFSv4.2 может отменить и освободить уведомление о копировании другого клиента.
заявил.
Сравните создающий clientid, записанный в state->cp_p_clid, с
запросить cl_clientid клиента и вернуть nfserr_bad_stateid на
несоответствие вместо освобождения записи.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: nfsd: check client ownership when cancelling a copy-notify stateid On the OFFLOAD_CANCEL path (clp != NULL), manage_cpntf_state() freed the target cpntf state without checking ownership. The lookup key st->si_opaque.so_id is allocated cyclically (guessable) and the embedded clientid is the fixed per-net nn->s2s_cp_cl_id, so any authenticated NFSv4.2 client could cancel and free another client's copy-notify stateid. Compare the creating clientid recorded in state->cp_p_clid against the requesting client's cl_clientid and return nfserr_bad_stateid on a mismatch instead of freeing the entry.