CVE-2024-53193 in Linuxinformación

Resumen

por MITRE • 2024-12-27

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: clk: clk-loongson2: Se corrige un error de corrupción de memoria en struct loongson2_clk_provider. Se asigna algo de espacio de montón para la estructura flexible `struct clk_hw_onecell_data` y su miembro de matriz flexible `hws` a través de la estructura compuesta `struct loongson2_clk_provider` en la función `loongson2_clk_probe()`, 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); Luego, se escriben algunos datos en la matriz flexible: 350 clp->clk_data.hws[p->id] = hw; Esto corrompe `clk_lock`, que es la variable spinlock que sigue inmediatamente al miembro `clk_data` en `struct loongson2_clk_provider`: struct loongson2_clk_provider { void __iomem *base; struct device *dev; struct clk_hw_onecell_data clk_data; spinlock_t clk_lock; /* proteger el acceso a los registros DIV */ }; El problema es que la estructura flexible actualmente está ubicada en el medio de `struct loongson2_clk_provider` en lugar de al final. Solucione esto moviendo `struct clk_hw_onecell_data clk_data;` al final de `struct loongson2_clk_provider`. Además, agregue un comentario de código para ayudar a evitar que esto vuelva a suceder en caso de que se agreguen nuevos miembros a la estructura en el futuro. Este cambio también corrige la siguiente advertencia -Wflex-array-member-not-at-end: drivers/clk/clk-loongson2.c:32:36: advertencia: la estructura que contiene un miembro de matriz flexible no está al final de otra estructura [-Wflex-array-member-not-at-end]

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Reservar

2024-11-19

Divulgación

2024-12-27

Moderación

aceptado

Artículo

VDB-289446

CPE

listo

EPSS

0.00228

KEV

no

Actividades

muy bajo

Fuentes

Might our Artificial Intelligence support you?

Check our Alexa App!