CVE-2026-90397 in Linux
Riassunto
di VulDB • 18/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
firmware: qcom: scm: Correzione del dereferenziamento NULL nell'handler delle IRQ prima che __scm venga pubblicato
In qcom_scm_probe(), viene chiamata devm_request_threaded_irq() prima di smp_store_release(&__scm, scm). Due percorsi possono dereferenziare __scm prima della sua pubblicazione, causando entrambi un dereferenziamento di puntatore NULL.
L'handler delle IRQ riceve scm tramite il suo argomento data ma passa solo wq_ctx a qcom_scm_waitq_wakeup() e qcom_scm_get_completion(), che successivamente dereferenziano direttamente __scm. Trasmettere thread attraverso entrambe le funzioni in modo che il percorso dell'handler delle IRQ non tocchi mai __scm.
Le chiamate SMC non atomiche effettuate durante la fase di probe (ad esempio da qcom_tzmem_init tramite qcom_scm_shm_bridge_enable) possono restituire WAITQ_SLEEP, causando l'esecuzione di qcom_scm_wait_for_wq_completion() prima che __scm venga pubblicato e il suo dereferenziamento. Aggiungere platform_set_drvdata(pdev, scm) all'inizio della fase di probe e modificare qcom_scm_wait_for_wq_completion() in modo da accettare il puntatore del dispositivo e utilizzare dev_get_drvdata() per raggiungere scm, eliminando qualsiasi dipendenza da __scm.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.