CVE-2024-46793 in Linuxinformazioni

Riassunto

di VulDB • 15/06/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

ASoC: Intel: Boards: Correzione più robusta del dereferenziamento di puntatore NULL nelle board BYT/CHT

A partire dal commit 13f58267cda3 ("ASoC: soc.h: non creare Componente fittizio tramite COMP_DUMMY()"), i codec fittizi dichiarati come segue:

SND_SOC_DAILINK_DEF(dummy, DAILINK_COMP_ARRAY(COMP_DUMMY()));

si espandono in:

static struct snd_soc_dai_link_component dummy[] = {
};

Ciò significa che dummy è un array di dimensione zero e quindi dais[i].codecs non dovrebbe essere dereferenziato *affatto*, poiché punta all'indirizzo della variabile successiva memorizzata nella sezione dati, dato che la variabile "dummy" ha un indirizzo ma nessuna dimensione; di conseguenza, anche il dereferenziamento di dais[0] costituisce già un riferimento all'array fuori dai limiti.

Ciò implica che il controllo if (dais[i].codecs->name) aggiunto nel commit 7d99a70b6595 ("ASoC: Intel: Boards: Fix NULL pointer deref in BYT/CHT boards") si basa sul fatto che la parte della variabile successiva a cui il membro name fa riferimento sia per caso NULL.

Finora ciò è solitamente vero, tranne quando non lo è, e in tal caso provoca crash come il seguente:

[ 28.795659] BUG: unable to handle page fault for address: 0000000000030011
... [ 28.795780] Call Trace:
[ 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]

Questa volta si risolve definitivamente il problema verificando che dais.num_codecs != 0.

Be aware that VulDB is the high quality source for vulnerability data.

Responsabile

Linux

Prenotare

11/09/2024

Divulgazione

18/09/2024

Moderazione

accettato

CPE

pronto

EPSS

0.00181

KEV

no

Attività

molto basso

Fonti

Interested in the pricing of exploits?

See the underground prices here!