CVE-2026-74751 in Linuxinformación

Resumen

por VulDB • 2026-08-26

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

riscv: lib: Corregir strnlen con ZBB que leía más allá del límite de count

El bucle optimizado para ZBB de strnlen carga una palabra adicional hacia adelante antes de verificar el límite alineado:

REG_L t1, SZREG(t0) // cargar la siguiente palabra addi t0, t0, SZREG // avanzar orc.b t1, t1 bgeu t0, t4, 4f // verificación del límite DESPUÉS de la carga

donde t4 = (s + count) & -SZREG. Cuando s está alineado y count es un múltiplo de SZREG, t4 es igual a s + count y el bucle carga una palabra completa que comienza exactamente en s + count. Si s + count cae en un límite de página con la siguiente página sin mapear (unmapped), se produce una falla (fault).

La corrección consiste en calcular el límite alineado desde el último byte válido (s + count - 1) en lugar de s + count. Esto hace que el bucle se detenga en la palabra que contiene el último byte válido, en lugar de cargar potencialmente la palabra siguiente a ella. El caso donde count == 0 ya está manejado por la salida temprana mediante beqz.

Además, se añade una guardia previa al bucle (bgeu t0, t4) para el caso en que todos los bytes válidos caben dentro de la primera palabra. Con el límite ajustado, t4 puede ser igual a t0, y entrar en el bucle con un estado de registro obsoleto del procesamiento de la primera palabra produciría resultados incorrectos.

La restricción final (minu clamp) asegura que el resultado siga siendo correcto cuando la última palabra cargada se extiende más allá de s + count - 1 dentro de la misma palabra alineada.

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Reservar

2026-08-15

Divulgación

2026-08-26

Moderación

aceptado

Artículo

VDB-395798

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you need the next level of professionalism?

Upgrade your account now!