CVE-2026-31571

In the Linux kernel, the following vulnerability has been resolved: drm/i915: Unlink NV12 planes earlier unlink_nv12_plane() will clobber parts of the plane state potentially already set up by plane_atomic_check(), so we must make sure not to call the two in the wrong order. The problem happens when a plane previously selected as a Y plane is now configured as a normal plane by user space. plane_atomic_check() will first compute the proper plane state based on the userspace request, and unlink_nv12_plane() later clears some of the state. This used to work on account of unlink_nv12_plane() skipping the state clearing based on the plane visibility. But I removed that check, thinking it was an impossible situation. Now when that situation happens unlink_nv12_plane() will just WARN and proceed to clobber the state. Rather than reverting to the old way of doing things, I think it's more clear if we unlink the NV12 planes before we even compute the new plane state. (cherry picked from commit 017ecd04985573eeeb0745fa2c23896fb22ee0cc)
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:*

History

11 Nov 2026, 23:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: drm/i915: Desvincular planos NV12 antes unlink_nv12_plane() sobrescribirá partes del estado del plano potencialmente ya configuradas por plane_atomic_check(), por lo que debemos asegurarnos de no llamar a las dos en el orden incorrecto. El problema ocurre cuando un plano previamente seleccionado como un plano Y ahora se configura como un plano normal por el espacio de usuario. plane_atomic_check() primero calculará el estado del plano adecuado basado en la solicitud del espacio de usuario, y unlink_nv12_plane() más tarde borra parte del estado. Esto solía funcionar debido a que unlink_nv12_plane() omitía la limpieza del estado basada en la visibilidad del plano. Pero eliminé esa verificación, pensando que era una situación imposible. Ahora, cuando esa situación ocurre, unlink_nv12_plane() simplemente ADVERTIRÁ y procederá a sobrescribir el estado. En lugar de revertir a la antigua forma de hacer las cosas, creo que es más claro si desvinculamos los planos NV12 incluso antes de calcular el nuevo estado del plano. (seleccionado de la confirmación 017ecd04985573eeeb0745fa2c23896fb22ee0cc)

Information

Published : 2026-04-24 15:16

Updated : 2026-11-11 23:10


NVD link : CVE-2026-31571

Mitre link : CVE-2026-31571

CVE.ORG link : CVE-2026-31571


JSON object : View

Products Affected

linux

  • linux_kernel