CVE-2026-98313 in Linuxinformación

Resumen

por VulDB • 2026-10-06

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

drm/msm/dp: omitir PUSH_IDLE cuando el enlace nunca fue habilitado

msm_dp_display_atomic_enable() retorna tempranamente cuando falla el entrenamiento del enlace (link training), dejando ->power_on en falso y el enlace principal inactivo. Sin embargo, msm_dp_display_atomic_disable() escribe DP_STATE_CTRL_PUSH_IDLE y espera a que se complete un patrón de idle que no puede llegar, por lo que cada intento fallido de habilitación es seguido por "PUSH_IDLE pattern timedout" (tiempo de espera agotado para el patrón PUSH_IDLE).

Cada otro paso del proceso de desmantelamiento ya está condicionado a esa bandera: msm_dp_display_disable(), llamada desde .atomic_post_disable(), retorna tempranamente si !power_on. La escritura de PUSH_IDLE es la única que no lo está, por lo que la referencia runtime-PM del controlador se libera sin haber desconectado el enlace.

En glymur (Snapdragon X2 Elite), la consecuencia no es una advertencia. El SoC no sobrevive a ello: TrustZone detiene forzosamente los procesadores remotos SOCCP y ADSP, y la máquina se reinicia silenciosamente unos 50 ms después, sin oops ni panic. En un ASUS Zenbook A16 (UX3607OA), cuyo panel eDP actualmente no entrena, esto se reproduce sin intervención de compositor ni GPU:

# La habilitación de eDP ya ha fallado con "Failed link training (rc=-104)" echo 1 > /sys/class/graphics/fb0/blank

[535.645455] === marker ===
[535.694833] qcom_q6v5_pas d00000.remoteproc: fatal error received: \
sys_m_smsm.c:512:TZ force stop (se recibió un error fatal: TZ detiene forzosamente) [535.694875] remoteproc remoteproc0: crash detected in soccp: type fatal error (crash detectado en soccp: tipo de error fatal)
[535.728857] qcom_q6v5_pas 6800000.remoteproc: fatal error received: \
sys_m_smsm.c:783:err fatal notification received from TZ (se recibió una notificación de error fatal desde TZ) <Reinicio del SoC>

Condicionar la escritura de PUSH_IDLE a ->power_on para que la ruta de deshabilitación sea coherente con el resto del proceso de desmantelamiento. Con esta aplicación, la misma secuencia es inofensiva y la máquina se mantiene activa; sin ella, se reinicia cada vez.

La escritura incondicional data del driver DP original (c943b4948b58 ("drm/msm/dp: add displayPort driver support")), pero el código circundante ha sido reestructurado varias veces desde entonces, por lo que no se ofrece una etiqueta Fixes:.

Tenga en cuenta que la falla de entrenamiento del enlace eDP que expone esto en el A16 es un problema separado en el PHY eDP de glymur y se reporta por separado; este cambio trata sobre no dañar la máquina cuando falla el entrenamiento, sea cual sea la razón.

Probado en ASUS Zenbook A16 (UX3607OA), Snapdragon X2 Elite Extreme, en linux-next next-20260803 y next-20260807. La máquina ha estado ejecutando desde entonces next-20260807 con este parche como su controlador diario.

Patchwork: https://patchwork.freedesktop.org/patch/745167/

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

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-06

Moderación

aceptado

Artículo

VDB-414059

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Interested in the pricing of exploits?

See the underground prices here!