Vulnerabilidad en kernel de Linux (CVE-2024-58060)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-416
Utilización después de liberación
Fecha de publicación:
06/03/2025
Última modificación:
21/03/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bpf: Rechazar el registro de struct_ops que usa el módulo ptr y falta el módulo btf_id Hay un informe UAF en bpf_struct_ops cuando CONFIG_MODULES=n. En particular, el informe está en tcp_congestion_ops que tiene un miembro "struct module *owner". Para struct_ops que tiene un miembro "struct module *owner", puede extenderse mediante el módulo de kernel regular o mediante bpf_struct_ops. bpf_try_module_get() se usará para hacer el recuento de referencias y se realiza un recuento de referencias diferente según el puntero del propietario. Cuando CONFIG_MODULES=n, falta el btf_id del "struct module": WARN: resolve_btfids: módulo de símbolo sin resolver Por lo tanto, bpf_try_module_get() no puede hacer el recuento de referencias correcto. No todos los struct_ops de los subsistemas requieren el miembro "struct module *owner", por ejemplo, el reciente sched_ext_ops. Este parche sirve para deshabilitar el registro de bpf_struct_ops si struct_ops tiene el miembro "struct module *" y falta el btf_id "struct module". El asistente btf_type_is_fwd() se ha movido al archivo de encabezado btf.h para esta prueba. Esto ha sucedido desde el comienzo de bpf_struct_ops, que ha sufrido muchos cambios. La etiqueta Fixes se establece en una confirmación reciente que este parche puede aplicar sin problemas. Teniendo en cuenta que CONFIG_MODULES=n no es común y la antigüedad del problema, también se apunta a bpf-next.
Impacto
Puntuación base 3.x
7.80
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.9 (incluyendo) | 6.12.13 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.13.2 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página