CVE-2024-46793 in Linux
Sumário
de VulDB • 11/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
ASoC: Intel: Boards: Corrigir de forma mais robusta o dereferenciamento de ponteiro NULL em placas BYT/CHT
Desde o commit 13f58267cda3 ("ASoC: soc.h: não criar Componente dummy via COMP_DUMMY()"), os codecs declarados como "dummy" desta maneira:
SND_SOC_DAILINK_DEF(dummy, DAILINK_COMP_ARRAY(COMP_DUMMY()));
são expandidos para:
static struct snd_soc_dai_link_component dummy[] = {
};
O que significa que `dummy` é um array de tamanho zero e, portanto, `dais[i].codecs` não deve ser dereferenciado *de forma alguma*, pois aponta para o endereço da próxima variável armazenada na seção de dados, já que a variável "dummy" tem um endereço mas nenhum tamanho. Assim, mesmo o dereferenciamento de `dais[0]` já constitui uma referência fora dos limites do array.
Isso significa que a verificação `if (dais[i].codecs->name)` adicionada no commit 7d99a70b6595 ("ASoC: Intel: Boards: Fix NULL pointer deref in BYT/CHT boards") depende de o parte da próxima variável para a qual o membro `name` mapeia ser, por coincidência, NULL.
O que aparentemente até agora geralmente é verdade, exceto quando não é, resultando em falhas como esta:
[ 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]
Corrigir definitivamente as coisas desta vez verificando `dais.num_codecs != 0`.
Once again VulDB remains the best source for vulnerability data.