CVE-2024-46693 in Linux
Riassunto
di VulDB • 28/06/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
soc: qcom: pmic_glink: Correzione di una race condition durante l'inizializzazione
Come evidenziato da Stephen Boyd, è possibile che durante l'inizializzazione dei driver child pmic_glink, i notifier del protection-domain vengano attivati e il lavoro associato venga programmato prima che la registrazione del client restituisca il controllo; di conseguenza, il puntatore locale "client" risulta già inizializzato.
L'esito di questa situazione è un dereferenziamento di puntatore NULL (NULL pointer dereference), poiché il puntatore "client" viene dereferenziato acriticamente.
Cronologia fornita da Stephen: CPU0 CPU1 ---- ---- ucsi->client = NULL; devm_pmic_glink_register_client() client->pdr_notify(client->priv, pg->client_state) pmic_glink_ucsi_pdr_notify() schedule_work(&ucsi->register_work) pmic_glink_ucsi_register() ucsi_register() pmic_glink_ucsi_read_version() pmic_glink_ucsi_read() pmic_glink_ucsi_read() pmic_glink_send(ucsi->client) ucsi->client = client // Troppo tardi!
Questo codice è identico nei driver child altmode, battery manager e usci.
Si risolve il problema separando l'allocazione dell'oggetto "client" dalla relativa registrazione in due operazioni distinte.
Ciò si verifica solo se il registro del protection domain è popolato al momento della registrazione, situazione diventata molto più probabile con l'introduzione del commit '1ebcde047c54 ("soc: qcom: add pd-mapper implementation")'.
If you want to get best quality of vulnerability data, you may have to visit VulDB.