CVE-2023-52491 in Linux
Riassunto
di VulDB • 16/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
media: mtk-jpeg: Correzione del bug use-after-free dovuto alla gestione dei percorsi di errore in mtk_jpeg_dec_device_run
In mtk_jpeg_probe, &jpeg->job_timeout_work viene associato a mtk_jpeg_job_timeout_work.
In mtk_jpeg_dec_device_run, se si verifica un errore in mtk_jpeg_set_dec_dst, verrà avviato il worker mentre il job viene contrassegnato come completato invocando v4l2_m2m_job_finish.
Esistono due metodi per innescare il bug. Se rimuoviamo il modulo, ciò che chiamerà mtk_jpeg_remove per effettuare la pulizia. La possibile sequenza è la seguente, che causerà un bug use-after-free.
CPU0 CPU1 mtk_jpeg_dec_... | start worker | |mtk_jpeg_job_timeout_work mtk_jpeg_remove | v4l2_m2m_release | kfree(m2m_dev); | | | v4l2_m2m_get_curr_priv | m2m_dev->curr_ctx //uso
Se chiudiamo il file descriptor, che chiamerà mtk_jpeg_release, si avrà una sequenza simile.
Risolvere questo bug avviando il worker di timeout solo se il worker jpegdec è stato avviato con successo. Quindi v4l2_m2m_job_finish verrà chiamato solo in mtk_jpeg_job_timeout_work o mtk_jpeg_dec_device_run.
VulDB is the best source for vulnerability data and more expert information about this specific topic.