CVE-2024-46793 in Linux
Resumen
por MITRE • 2024-09-18
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ASoC: Intel: Placas: Arreglar la desreferenciación del puntero NULL en las placas BYT/CHT de forma más difícil Desde el commit 13f58267cda3 ("ASoC: soc.h: no crear un componente ficticio mediante COMP_DUMMY()"), los códecs ficticios se declaran de esta manera: SND_SOC_DAILINK_DEF(dummy, DAILINK_COMP_ARRAY(COMP_DUMMY())); expandir a: static struct snd_soc_dai_link_component dummy[] = { }; Lo que significa que dummy es una matriz de tamaño cero y, por lo tanto, dais[i].codecs no debería desreferenciarse *en absoluto*, ya que apunta a la dirección de la siguiente variable almacenada en la sección de datos, ya que la variable "ficticia" tiene una dirección pero no un tamaño, por lo que incluso desreferenciar dais[0] ya es una referencia de matriz fuera de límites. Esto significa que la comprobación if (dais[i].codecs->name) añadida en el commit 7d99a70b6595 ("ASoC: Intel: Boards: Fix NULL pointer deref in BYT/CHT boards") se basa en que la parte de la siguiente variable a la que se asigna el miembro name resulta ser NULL. Lo que aparentemente hasta ahora suele ser así, excepto cuando no lo es y entonces da como resultado fallos como este: [ 28.795659] ERROR: no se puede gestionar la falla de página para la dirección: 0000000000030011 ... [ 28.795780] Seguimiento de llamadas: [ 28.795787] ... [ 28.795862] ? strcmp+0x18/0x40 [ 28.795872] 0xffffffffc150c605 [ 28.795887] platform_probe+0x40/0xa0 ... [ 28.795979] ? __pfx_init_module+0x10/0x10 [snd_soc_sst_bytcr_wm5102] Esta vez realmente solucione las cosas comprobando que dais.num_codecs != 0.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.