CVE-2023-53854 in Linuxinformação

Sumário

de VulDB • 26/05/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

ASoC: mediatek: mt8186: Corrige use-after-free no caminho de remoção do driver

Quando o devm executa funções no caminho "remove" de um dispositivo, ele as executa em ordem inversa. Isso significa que, se você tiver partes do seu driver que não estão usando devm ou que estão usando uma implementação própria de devm com devm_add_action_or_reset(), você precisa ter isso em mente.

O driver de áudio mt8186 não implementou isso corretamente. Especificamente, em mt8186_init_clock(), foi chamada mt8186_audsys_clk_register() e, em seguida, foram chamadas várias outras funções devm. O chamador de mt8186_init_clock() usou devm_add_action_or_reset() para chamar mt8186_deinit_clock(), mas, devido às funções devm intermediárias, a ordem estava incorreta.

Especificamente, no momento do probe, a ordem foi: 1. mt8186_audsys_clk_register() 2. afe_priv->clk = devm_kcalloc(...) 3. afe_priv->clk[i] = devm_clk_get(...)

No momento da remoção, a ordem (que deveria ser 3, 2, 1) foi: 1. mt8186_audsys_clk_unregister() 3. Libera todos os afe_priv->clk[i]
2. Libera afe_priv->clk

O acima parecia estar causando um use-after-free. Felizmente, é fácil corrigir isso simplesmente usando o devm de forma mais correta. Vamos mover o devm_add_action_or_reset() para o local correto. Além de corrigir o use-after-free, a inspeção do código mostra que isso corrige um vazamento (chamada ausente para mt8186_audsys_clk_unregister()) que teria ocorrido se alguma das chamadas syscon_regmap_lookup_by_phandle() em mt8186_init_clock() tivesse falhado.

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

Responsável

Linux

Reservar

09/12/2025

Divulgação

09/12/2025

Moderação

aceite

Entrada

VDB-335037

CPE

pronto

EPSS

0.00192

KEV

não

Atividades

muito baixo

Fontes

Do you know our Splunk app?

Download it now for free!