Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2021-47488)

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
22/05/2024
Última modificación:
05/12/2024

Descripción

En el kernel de Linux, se resolvió la siguiente vulnerabilidad: cgroup: corrige la pérdida de memoria causada por la falta de cgroup_bpf_offline Al habilitar CONFIG_CGROUP_BPF, se puede observar kmemleak ejecutando el siguiente comando: $mount -t cgroup -o none,name=foo cgroup cgroup / $umount cgroup/ objeto sin referencia 0xc3585c40 (tamaño 64): comm "mount", pid 425, sjiffies 4294959825 (edad 31.990s) volcado hexadecimal (primeros 32 bytes): 01 00 00 80 84 8c 28 c0 00 00 00 00 00 00 00 00 ......(....... 00 00 00 00 00 00 00 00 6c 43 a0 c3 00 00 00 00 ........lC...... retroceso : [] cgroup_bpf_inherit+0x44/0x24c [<1f03679c>] cgroup_setup_root+0x174/0x37c [] cgroup1_get_tree+0x2c0/0x4a0 [] 8 [] ruta_montaje+0x384/ 0x988 [] do_mount+0x64/0x9c [<208c9cfe>] sys_mount+0xfc/0x1f4 [<06dd06e0>] ret_fast_syscall+0x0/0x48 [] 0xbeb4daa8 Esto se debe a que desde El commit 2b0d3d3e4f cf ("percpu_ref: reducir huella de memoria de percpu_ref en la ruta rápida") root_cgrp->bpf.refcnt.data es asignada por la función percpu_ref_init en cgroup_bpf_inherit, que es llamada por cgroup_setup_root al montar, pero no se libera junto con root_cgrp al desmontar. Agregar cgroup_bpf_offline que llama a percpu_ref_kill a cgroup_kill_sb puede liberar root_cgrp->bpf.refcnt.data en la ruta de montaje. Este parche también corrige el commit 4bfc0bb2c60e ("bpf: desacople la vida útil de cgroup_bpf del propio cgroup"). Se necesita cgroup_bpf_offline para realizar una sanitización que libere los recursos asignados por cgroup_bpf_inherit en cgroup_setup_root. Y dentro de cgroup_bpf_offline, cgroup_get() está al principio y cgroup_put está al final de cgroup_bpf_release, que es llamado por cgroup_bpf_offline. Entonces cgroup_bpf_offline puede mantener el saldo del recuento de cgroup.

Impacto