CVE-2026-90136 in Linuxinformación

Resumen

por VulDB • 2026-09-17

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

platform/x86/amd/hsmp: Rechazar escrituras con valores negativos en power cap dentro de hwmon

La función hsmp_hwmon_write() toma el valor de hwmon proporcionado por el usuario como un signed long y asigna "val / MICROWATT_PER_MILLIWATT" a msg.args[0], que es un __u32. Dado que MICROWATT_PER_MILLIWATT es un unsigned long, una escritura negativa en power1_cap (por ejemplo, "echo -1 > power1_cap") se convierte primero en un valor sin signo enorme debido a la división y luego se almacena en el argumento u32.

Como resultado, se envía al SMU a través de HSMP_SET_SOCKET_POWER_LIMIT un límite de potencia del socket absurdo de varios gigavatios, en lugar de rechazar la escritura.

Se deben rechazar los valores negativos con -EINVAL antes de la conversión.

Probado con HSMP habilitado:

CAP=$(dirname $(grep -l amd_hsmp_hwmon \ /sys/class/hwmon/hwmon*/name | head -1))/power1_cap

# escritura negativa echo -1000000 > $CAP ; echo "ret=$?" # una escritura positiva válida debe seguir funcionando echo 400000000 > $CAP ; echo "ret=$?"

Antes: # echo -1000000 > $CAP ; echo "ret=$?" ret=0 <- aceptado; se envió un límite erróneo al SMU # echo 400000000 > $CAP ; echo "ret=$?" ret=0

Después: # echo -1000000 > $CAP ; echo "ret=$?" bash: echo: write error: Invalid argument ret=1 <- rechazado con -EINVAL # echo 400000000 > $CAP ; echo "ret=$?" ret=0 <- la escritura válida sigue funcionando

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

Linux

Reservar

2026-09-11

Divulgación

2026-09-17

Moderación

aceptado

Artículo

VDB-406654

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Might our Artificial Intelligence support you?

Check our Alexa App!