CVE-2025-21737 in Linuxinformación

Resumen

por VulDB • 2026-05-20

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

ceph: corregir la fuga de memoria en ceph_mds_auth_match()

Ahora se libera la asignación temporal del subcadena de la ruta de destino en cada posible rama, en lugar de omitir la rama por defecto. En algunos casos, se producía una fuga de memoria que podía provocar un bloqueo rápido del sistema (dependiendo de cuántos accesos a archivos se intentaran).

Esto se detectó en producción porque causaba un crecimiento continuo de la memoria, lo que eventualmente activaba el OOM (Out of Memory) del kernel y bloqueaba completamente el kernel.

Seguimiento de pila (stacktrace) relevante de kmemleak:

objeto no referenciado 0xffff888131e69900 (tamaño 128): comm "git", pid 66104, jiffies 4295435999 volcado hexadecimal (primeros 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

Puede activarse montando un subdirectorio de un sistema de archivos CephFS y luego intentando acceder a archivos en este subdirectorio con un token de autenticación utilizando una capacidad (capability) con alcance de ruta:

$ 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: combinar sentencias if, renombrar rc a path_matched y convertirlo en bool, formato ]

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

Linux

Reservar

2024-12-29

Divulgación

2025-02-27

Moderación

aceptado

Artículo

VDB-297664

CPE

listo

EPSS

0.00195

KEV

no

Actividades

muy bajo

Fuentes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!