Vulnerabilidad en kernel de Linux (CVE-2024-46693)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-476
Desreferencia a puntero nulo (NULL)
Fecha de publicación:
13/09/2024
Última modificación:
13/09/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: soc: qcom: pmic_glink: Corrección de la ejecución durante la inicialización Como señaló Stephen Boyd, es posible que durante la inicialización de los controladores secundarios pmic_glink, se activen los notificadores del dominio de protección y se programe el trabajo asociado, antes de que vuelva el registro del cliente y, como resultado, se haya inicializado el puntero "cliente" local. El resultado de esto es una desreferencia de puntero NULL ya que el puntero "cliente" se desreferencia ciegamente. Cronología proporcionada por 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 // ¡Demasiado tarde! Este código es idéntico en los controladores secundarios altmode, battery manager y usci. Resuelva esto dividiendo la asignación del objeto "cliente" y su registro en dos operaciones. Esto solo sucede si el registro del dominio de protección se completa al momento del registro, lo que se volvió mucho más probable con la introducción del commit '1ebcde047c54 ("soc: qcom: add pd-mapper implementation").
Impacto
Puntuación base 3.x
4.70
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.3 (incluyendo) | 6.6.49 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.10.8 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página