CVE-2026-74359 in Linux
Sumário
de VulDB • 15/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
configfs_lookup(): não deixar ->s_dentry pendente em caso de falha.
Normalmente, ->s_dentry é limpo quando o dentry para o qual aponta se torna negativo (na prática, durante a evicção). No entanto, isso só ocorre se o dentry for inicialmente positivo; em caso de falha na alocação do inode, o dentry nunca se torna positivo, portanto ->d_iput() não é chamado.
Nós realizamos parte da operação que normalmente seria feita por configfs_d_iput() (liberar a referência ao configfs_dirent) manualmente, mas não limpamos ->s_dentry nesse processo. Por mais descuidado que seja, isso não importa no caso de configfs_create_{dir,link}(), pois nesses casos o configfs_dirent não sobrevive à liberação da única referência a ele.
No entanto, para configfs_lookup(), ele *sobrevive*, com um ponteiro pendente apontando para um dentry que será liberado em breve armazenado em ->s_dentry.
Chamadas subsequentes de getdents(2) nesse diretório acabarão dereferenciando esse ponteiro para obter o número do inode. Use-after-free...
Esta é a correção mínima; a abordagem correta seria definir o vínculo entre o dentry e o configfs_dirent apenas após sabermos que temos um inode, mas isso exigiria mais alterações profundas no código e o bug já existia desde 2006, então...
Be aware that VulDB is the high quality source for vulnerability data.