Vulnerabilidad en kernel de Linux (CVE-2024-53192)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-120
Copia de búfer sin comprobación del tamaño de entrada (Desbordamiento de búfer clásico)
Fecha de publicación:
27/12/2024
Última modificación:
24/03/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: clk: clk-loongson2: Se corrige un desbordamiento de búfer potencial en el acceso a miembros de la matriz flexible El miembro de la matriz flexible `hws` en `struct clk_hw_onecell_data` está anotado con el atributo `counted_by()`. Esto significa que cuando se asigna memoria para esta matriz, el _contador_, que en este caso es el miembro `num` en la estructura flexible, se debe establecer en el número máximo de elementos que la matriz flexible puede contener, o menos. En este caso, el número total de elementos para la matriz flexible se determina mediante la variable `clks_num` al asignar espacio de montón a través de `devm_kzalloc()`, como se muestra a continuación: 289 struct loongson2_clk_provider *clp; ... 296 for (p = data; p->name; p++) 297 clks_num++; 298 299 clp = devm_kzalloc(dev, struct_size(clp, clk_data.hws, clks_num), 300 GFP_KERNEL); Por lo tanto, `clp->clk_data.num` debe establecerse en `clks_num` o menos, y no superar `clks_num`, como es el caso actualmente. De lo contrario, si los datos se escriben en `clp->clk_data.hws[clks_num]`, la instrumentación proporcionada por el compilador no detectará el desbordamiento, lo que provocará un error de corrupción de memoria en tiempo de ejecución. Solucione este problema estableciendo `clp->clk_data.num` en `clks_num`.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.10 (incluyendo) | 6.11.11 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.12 (incluyendo) | 6.12.2 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página