CVE-2020-36787

In the Linux kernel, the following vulnerability has been resolved: media: aspeed: fix clock handling logic Video engine uses eclk and vclk for its clock sources and its reset control is coupled with eclk so the current clock enabling sequence works like below. Enable eclk De-assert Video Engine reset 10ms delay Enable vclk It introduces improper reset on the Video Engine hardware and eventually the hardware generates unexpected DMA memory transfers that can corrupt memory region in random and sporadic patterns. This issue is observed very rarely on some specific AST2500 SoCs but it causes a critical kernel panic with making a various shape of signature so it's extremely hard to debug. Moreover, the issue is observed even when the video engine is not actively used because udevd turns on the video engine hardware for a short time to make a query in every boot. To fix this issue, this commit changes the clock handling logic to make the reset de-assertion triggered after enabling both eclk and vclk. Also, it adds clk_unprepare call for a case when probe fails. clk: ast2600: fix reset settings for eclk and vclk Video engine reset setting should be coupled with eclk to match it with the setting for previous Aspeed SoCs which is defined in clk-aspeed.c since all Aspeed SoCs are sharing a single video engine driver. Also, reset bit 6 is defined as 'Video Engine' reset in datasheet so it should be de-asserted when eclk is enabled. This commit fixes the setting.
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:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

11 Dec 2024, 16:42

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CWE NVD-CWE-noinfo
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
References () https://git.kernel.org/stable/c/1dc1d30ac101bb8335d9852de2107af60c2580e7 - () https://git.kernel.org/stable/c/1dc1d30ac101bb8335d9852de2107af60c2580e7 - Patch
References () https://git.kernel.org/stable/c/2964c37563e86cfdc439f217eb3c5a69adfdba6a - () https://git.kernel.org/stable/c/2964c37563e86cfdc439f217eb3c5a69adfdba6a - Patch
References () https://git.kernel.org/stable/c/3536169f8531c2c5b153921dc7d1ac9fd570cda7 - () https://git.kernel.org/stable/c/3536169f8531c2c5b153921dc7d1ac9fd570cda7 - Patch
References () https://git.kernel.org/stable/c/75321dc8aebe3f30eff226028fe6da340fe0bf02 - () https://git.kernel.org/stable/c/75321dc8aebe3f30eff226028fe6da340fe0bf02 - Patch
References () https://git.kernel.org/stable/c/a59d01384c80a8a4392665802df57c3df20055f5 - () https://git.kernel.org/stable/c/a59d01384c80a8a4392665802df57c3df20055f5 - Patch
First Time Linux linux Kernel
Linux

21 Nov 2024, 05:30

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se resolvió la siguiente vulnerabilidad: medios: aspeed: corrige la lógica de manejo del reloj El motor de video usa eclk y vclk para sus fuentes de reloj y su control de reinicio está acoplado con eclk para que la secuencia de habilitación del reloj actual funcione como se muestra a continuación. Habilitar eclk De-assert Video Engine restablece un retraso de 10 ms Habilitar vclk Introduce un reinicio incorrecto en el hardware de Video Engine y eventualmente el hardware genera transferencias de memoria DMA inesperadas que pueden dañar la región de la memoria en patrones aleatorios y esporádicos. Este problema se observa muy raramente en algunos SoC AST2500 específicos, pero provoca un pánico crítico en el kernel al crear varias formas de firma, por lo que es extremadamente difícil de depurar. Además, el problema se observa incluso cuando el motor de vídeo no se utiliza activamente porque udevd enciende el hardware del motor de vídeo durante un breve periodo de tiempo para realizar una consulta en cada arranque. Para solucionar este problema, esta confirmación cambia la lógica de manejo del reloj para activar la anulación de reinicio después de habilitar tanto eclk como vclk. Además, agrega la llamada clk_unprepare para un caso en el que falla la sonda. clk: ast2600: corrige la configuración de restablecimiento para eclk y vclk La configuración de restablecimiento del motor de video debe combinarse con eclk para que coincida con la configuración de los SoC Aspeed anteriores que se define en clk-aspeed.c, ya que todos los SoC Aspeed comparten un único controlador de motor de video. Además, el bit de reinicio 6 se define como reinicio del 'Motor de video' en la hoja de datos, por lo que debe desactivarse cuando eclk está habilitado. Este commit corrige la configuración.
References () https://git.kernel.org/stable/c/1dc1d30ac101bb8335d9852de2107af60c2580e7 - () https://git.kernel.org/stable/c/1dc1d30ac101bb8335d9852de2107af60c2580e7 -
References () https://git.kernel.org/stable/c/2964c37563e86cfdc439f217eb3c5a69adfdba6a - () https://git.kernel.org/stable/c/2964c37563e86cfdc439f217eb3c5a69adfdba6a -
References () https://git.kernel.org/stable/c/3536169f8531c2c5b153921dc7d1ac9fd570cda7 - () https://git.kernel.org/stable/c/3536169f8531c2c5b153921dc7d1ac9fd570cda7 -
References () https://git.kernel.org/stable/c/75321dc8aebe3f30eff226028fe6da340fe0bf02 - () https://git.kernel.org/stable/c/75321dc8aebe3f30eff226028fe6da340fe0bf02 -
References () https://git.kernel.org/stable/c/a59d01384c80a8a4392665802df57c3df20055f5 - () https://git.kernel.org/stable/c/a59d01384c80a8a4392665802df57c3df20055f5 -

28 Feb 2024, 09:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-02-28 09:15

Updated : 2024-12-11 16:42


NVD link : CVE-2020-36787

Mitre link : CVE-2020-36787

CVE.ORG link : CVE-2020-36787


JSON object : View

Products Affected

linux

  • linux_kernel