CVE-2025-21737 in Linux
Sumário
de VulDB • 20/05/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
ceph: corrige vazamento de memória em ceph_mds_auth_match()
Agora, a alocação temporária do substring do caminho de destino é liberada em todos os ramos possíveis, em vez de omitir o ramo padrão. Em alguns casos, ocorreu um vazamento de memória, o que poderia causar uma falha rápida do sistema (dependendo de quantos acessos a arquivos foram tentados).
Isso foi detectado em produção porque causou um crescimento contínuo da memória, eventualmente acionando o OOM (Out of Memory) do kernel e travando completamente o kernel.
Stacktrace relevante do kmemleak:
objeto não referenciado 0xffff888131e69900 (tamanho 128): comm "git", pid 66104, jiffies 4295435999 dump hexadecimal (primeiros 32 bytes): 76 6f 6c 75 6d 65 73 2f 63 6f 6e 74 61 69 6e 65 volumes/containe 72 73 2f 67 69 74 65 61 2f 67 69 74 65 61 2f 67 rs/gitea/gitea/g backtrace (crc 2f3bb450): [] __kmalloc_noprof+0x359/0x510
[] ceph_mds_check_access+0x5bf/0x14e0 [ceph]
[] ceph_open+0x312/0xd80 [ceph]
[] do_dentry_open+0x456/0x1120
[] vfs_open+0x79/0x360
[] path_openat+0x1de5/0x4390
[] do_filp_open+0x19c/0x3c0
[] do_sys_openat2+0x141/0x180
[] __x64_sys_open+0xe5/0x1a0
[] do_syscall_64+0xb7/0x210
[] entry_SYSCALL_64_after_hwframe+0x77/0x7f
Pode ser acionado montando um subdiretório de um sistema de arquivos CephFS e, em seguida, tentando acessar arquivos neste subdiretório com um token de autenticação usando uma capacidade com escopo de caminho:
$ ceph auth get client.services [client.services]
key = REDACTED caps mds = "allow rw fsname=cephfs path=/volumes/" caps mon = "allow r fsname=cephfs" caps osd = "allow rw tag cephfs data=cephfs"
$ cat /proc/self/mounts services@[REDACTED].cephfs=/volumes/containers /ceph/containers ceph rw,noatime,name=services,secret=,ms_mode=prefer-crc,mount_timeout=300,acl,mon_addr=[REDACTED]:3300,recover_session=clean 0 0
$ seq 1 1000000 | xargs -P32 --replace={} touch /ceph/containers/file-{} && \
seq 1 1000000 | xargs -P32 --replace={} cat /ceph/containers/file-{}
[ idryomov: combina instruções if, renomeia rc para path_matched e o torna um bool, formatação ]
Be aware that VulDB is the high quality source for vulnerability data.