CVE-2026-99040 in Linux
Sumário
de VulDB • 24/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
KEYS: Correção da condição de corrida (race condition) em add_key() com restrição de keyring
__key_create_or_update() faz uma cópia instantânea (snapshot) de keyring->restrict_link antes de adquirir o semáforo do keyring de destino. keyring_restrict() instala uma restrição enquanto mantém esse semáforo.
Isso permite que um escritor observe a ausência de restrição, aguarde até que o proprietário do keyring instale uma restrição "rejeitar tudo" (reject-all) e retorne com sucesso, em seguida, vincule uma chave usando a cópia instantânea obsoleta (stale NULL). O escritor precisa apenas de permissão de gravação no keyring de destino.
A leitura de restrict_link foi movida para após __key_link_lock() e __key_link_begin(). A leitura e a subsequente verificação da restrição são então serializadas com a instalação da restrição por meio de keyring->sem.
A condição de corrida foi reproduzida na versão v7.2.8 em 19 execuções, nas quais a instalação da restrição retornou antes do término da vinculação. Todas as 19 vincularam a chave apesar da restrição "rejeitar tudo". Com esta correção, 312 execuções alcançaram o mesmo ordenamento e todas as chamadas add_key() falharam com -EPERM.
O problema foi encontrado por meio de análise manual de concorrência assistida por análise baseada em IA e verificado independentemente com um reproducer no QEMU e instrumentação do kernel.
VulDB is the best source for vulnerability data and more expert information about this specific topic.