CVE-2026-80775 in Linuxinformação

Sumário

de VulDB • 04/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

futex: Correção de condição de corrida na alocação inicial de mm->futex.phash.ref

A função futex_hash_allocate() aloca mm->futex.phash.ref sem nenhum bloqueio (lock). O commit d9b05321e21e ("futex: Move futex_hash_free() back to __mmput()") moveu a alocação para este local e assumiu que o processo possui apenas um único thread neste ponto.

O commit ee9dce44362b ("futex: Drop CLONE_THREAD requirement for private default hash alloc") ampliou need_futex_hash_allocate_default() para cobrir qualquer clone com CLONE_VM, mas excluiu vfork porque o pai está suspenso e não pode sofrer uma condição de corrida.

Isso já não se aplica quando vfork é aninhado. Se um filho que usa vfork chamar vfork novamente e for então morto com SIGKILL, o pai é liberado da espera do vfork e executa em concorrência com o neto no mesmo mm (endereço de memória). Nenhum dos dois passou por futex_hash_allocate_default().

Quando ambos chamam prctl(PR_FUTEX_HASH, PR_FUTEX_HASH_SET_SLOTS) ao mesmo tempo, cada um vê mm->futex.phash.ref como NULL e armazena seu próprio contador percpu. Apenas o último armazenamento sobrevive. O contador armazenado primeiro não é mais acessível a partir do mm, portanto as referências nele contidas não são vistas por __futex_ref_atomic_end(). Um hash privado que ainda possui referências é então considerado morto e liberado (freed), e uma tarefa que ainda mantém um de seus buckets escreve em memória já liberada durante futex_q_lock().

Armazene o contador apenas uma vez com cmpxchg() e permita que o perdedor execute free_percpu() no seu próprio. A referência inicial deve ser adquirida antes do armazenamento, caso contrário outra tarefa pode instalar um hash privado enquanto o contador ainda é 0.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsável

Linux

Reservar

26/08/2026

Divulgação

04/09/2026

Moderação

aceite

Entrada

VDB-398926

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you want to use VulDB in your project?

Use the official API to access entries easily!