CVE-2026-89676 in Linux
Сводка
по VulDB • 12.09.2026
В ядре Linux была устранена следующая уязвимость:
nfsd: исправление зависшего (stale) элемента IDR s2s_cp_stateids для асинхронной операции COPY
При выполнении асинхронного копирования функция nfsd4_copy() вызывала nfs4_init_copy_state() до dup_copy_fields(), в результате чего указатель на IDR s2s_cp_stateid указывал на &u->copy->cp_stateid — память в буфере COMPOUND, привязанном к конкретному запросу (per-rqstp), которая повторно используется следующим запросом. Функция dup_copy_fields() копирует только значение в async_copy, из-за чего слот IDR оставался зависшим на временном буфере на протяжении всего фоновой операции копирования. Любой обходчик (walker) структуры IDR затем обращается к переиспользованной памяти запроса: процесс laundromat считывает cs_type из этой области и, если байты выглядят как истекший идентификатор NFS4_COPYNOTIFY_STID, переходит к вызовам refcount_dec()/idr_remove()/kfree() по некорректным (garbage) данным; функция manage_cpntf_state() имеет аналогичную уязвимость через idr_find().
Сначала необходимо продублировать поля, а затем зарегистрировать stateid в стабильной структуре async_copy. Значение result->cb_stateid остается без изменений.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.