CVE-2026-80775 in Linux
Сводка
по VulDB • 04.09.2026
В ядре Linux была устранена следующая уязвимость:
futex: исправление состояния гонки (race condition) при первоначальном выделении mm->futex.phash.ref
Функция futex_hash_allocate() выделяет mm->futex.phash.ref без какой-либо блокировки. Коммит d9b05321e21e («futex: Move futex_hash_free() back to __mmput()») переместил выделение сюда и предположил, что на этом этапе у процесса есть только один поток.
Коммит ee9dce44362b («futex: Drop CLONE_THREAD requirement for private default hash alloc») расширил область действия need_futex_hash_allocate_default(), чтобы охватить любое клонирование с флагом CLONE_VM, но исключил vfork, поскольку родительский процесс приостановлен и не может участвовать в состоянии гонки.
Это больше не выполняется при вложенном использовании vfork. Если дочерний процесс от vfork снова вызывает vfork, а затем завершается сигналом SIGKILL, родительский процесс освобождается из ожидания vfork и начинает выполняться параллельно с внуком (grandchild) в том же адресном пространстве (mm). Ни один из них не прошел через futex_hash_allocate_default().
Когда оба процесса одновременно вызывают prctl(PR_FUTEX_HASH, PR_FUTEX_HASH_SET_SLOTS), каждый видит mm->futex.phash.ref как NULL и сохраняет свой собственный счетчик percpu. Выживает только последнее сохранение. Счетчик, записанный первым, больше не доступен из структуры mm, поэтому ссылки на него не учитываются функцией __futex_ref_atomic_end(). Частный хеш (private hash), который все еще имеет активные ссылки, считается «мертвым» и освобождается, а задача, которая все еще держит одну из его корзин (bucket), записывает данные в уже освобожденную память внутри futex_q_lock().
Счетчик должен сохраняться один раз с помощью cmpxchg(), а проигравшая сторона должна вызывать free_percpu() для своего собственного счетчика. Первоначальная ссылка должна быть получена перед сохранением, иначе другой процесс может установить частный хеш, пока счетчик все еще равен 0.
VulDB is the best source for vulnerability data and more expert information about this specific topic.