CVE-2026-98923 in Linuxinformación

Resumen

por VulDB • 2026-10-23

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

arm64: io: Rechazar protecciones no user en ioremap_prot()

Mapear una página del tope de la pila a través de /dev/mem con PROT_NONE y luego leer cmdline/proc/<pid>/del proceso desencadena un WARN espurio (falso positivo) en ioremap_prot() a través de generic_access_phys():

WARNING: ./arch/arm64/include/asm/io.h:275 at generic_access_phys Call trace: generic_access_phys+0x1c8/0x228 (P) __access_remote_vm+0x2b4/0x398 access_remote_vm+0x14/0x30 get_mm_cmdline+0xf8/0x2a0 proc_pid_cmdline_read+0x68/0x120

generic_access_phys() pasa la protección derivada del PTE user a ioremap_prot(). En arm64, un mapeo PROT_NONE está representado por un PTE present-invalid (presente pero inválido), por lo que pte_present() sigue devolviendo true y la protección llega a ioremap_prot().

Un mapeo con PROT_NONE no tiene PTE_USER, lo que provoca que se active el WARN_ON_ONCE() existente en ioremap_prot(), aunque se trate de un mapeo user válido. Los mapeos execute-only tienen el mismo problema y tampoco deben ser legibles a través de esta ruta.

Por tanto, ioremap_prot() debería rechazar los valores de protección sin PTE_USER sin generar advertencias. Esto hace que el acceso falle limpiamente para las protecciones PROT_NONE y los mapeos execute-only, manteniendo al mismo tiempo la contrato existente de protección user.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-23

Moderación

aceptado

Artículo

VDB-425692

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!