CVE-2025-40271
fs/proc: corrige UAF em proc_readdir_de()
- Publicado
- 6 de dez. de 2025
- Atualizado
- 5 de ago. de 2026
- Atribuindo CNA
- Linux
- Evidência observada
- 4 de mai. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HBaixo · próximos 30 dias
- Percentil
- 38,7%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
No kernel Linux, a seguinte vulnerabilidade foi resolvida: fs/proc: fix uaf in proc_readdir_de() O Pde é apagado da rbtree de subdiretórios por meio de rb_erase(), mas o nó não é definido como EMPTY, o que pode resultar em acesso uaf. Devemos usar RB_CLEAR_NODE() para definir o nó apagado como EMPTY; então pde_subdir_next() retornará NULL para evitar o acesso uaf. Encontramos um problema de uaf ao usar o teste stress-ng, sendo necessário executar os casos de teste getdent e tun ao mesmo tempo. As etapas do problema são as seguintes: 1) usar getdent para percorrer o diretório /proc/pid/net/dev_snmp6/, e o pde atual é tun3; 2) na [janela de tempo] remover o registro dos netdevices tun3 e tun2 e apagá-los da rbtree. apagar primeiro o tun3 e depois o tun2. o pde(tun2) será liberado para o slab; 3) continuar o processo getdent; então pde_subdir_next() retornará o pde(tun2) que foi liberado, o que causará acesso uaf. CPU 0 | CPU 1 ------------------------------------------------------------------------- traverse dir /proc/pid/net/dev_snmp6/ | unregister_netdevice(tun->dev) //tun3 tun2 sys_getdents64() | iterate_dir() | proc_readdir() | proc_readdir_de() | snmp6_unregister_dev() pde_get(de); | proc_remove() read_unlock(&proc_subdir_lock); | remove_proc_subtree() | write_lock(&proc_subdir_lock); [time window] | rb_erase(&root->subdir_node, &parent->subdir); | write_unlock(&proc_subdir_lock); read_lock(&proc_subdir_lock); | next = pde_subdir_next(de); | pde_put(de); | de = next; //UAF | rbtree of dev_snmp6 | pde(tun3) / \ NULL pde(tun2)
Fontes
3- CVE-2025-40271Pesquisa
Análise técnica da CVE-2025-40271, uma vulnerabilidade crítica de Use-After-Free no sistema de arquivos /proc do kernel Linux, incluindo causa raiz, passos de reprodução e detalhes do patch.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.