CVE-2026-11985 in Zephyrinformación

Resumen

por VulDB • 2026-08-11

En el puerto ARM de Zephyr, habilitar la FPU por hardware (CONFIG_FPU) fuerza la selección del "Floating point ABI", que tiene como valor predeterminado CONFIG_FP_HARDABI. Tanto FP_HARDABI como FP_SOFTABI permiten al compilador generar instrucciones de punto flotante por hardware en cualquier función, incluso en código que nunca utiliza tipos de punto flotante. Sin embargo, los registros FPU guardados por el destinatario (callee-saved) (s16-s31 / d8-d15) solo se guardan y restauran durante un cambio de contexto cuando CONFIG_FPU_SHARING está habilitado (arch/arm/core/cortex_m/swap_helper.S y arch/arm/core/cortex_a_r/swap_helper.S), y antes de esta corrección, seleccionar una ABI no activaba el intercambio de registros FPU, que viene desactivado por defecto.

En un entorno de compilación donde se habilita la FPU con la ABI predeterminada pero CONFIG_FPU_SHARING permanece deshabilitado, el núcleo no preserva ningún estado de registro FPU guardado por el destinatario entre cambios de hilo (thread). La precondición documentada para este modo "no compartido" —que solo un único hilo ejecuta instrucciones FP— se viola silenciosamente porque el compilador puede generar instrucciones FP en cada hilo.

Bajo CONFIG_USERSPACE, donde los hilos están mutuamente aislados, esto constituye una violación de la frontera de divulgación de información: un hilo víctima puede dejar valores derivados de secretos en s16-s31, y un hilo no privilegiado co-residente puede leer esos registros directamente (el acceso a los registros FP no está restringido por privilegios), recuperando datos dejados atrás por otro hilo. Sin userspace, el mismo defecto provoca corrupción del estado FP entre hilos (un error de corrección). La filtración se limita a los 16 registros single-precision guardados por el destinatario y es oportunista, por lo que su impacto es bajo.

La solución hace que FP_HARDABI y FP_SOFTABI seleccionen CONFIG_FPU_SHARING y marca cada hilo con K_FP_REGS en la creación, de modo que el estado FPU guardado por el destinatario se preserva siempre durante los cambios de contexto cuando el compilador pueda generar instrucciones FP.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsable

Zephyr

Reservar

2026-06-11

Divulgación

2026-08-11

Moderación

aceptado

Artículo

VDB-387991

CPE

listo

EPSS

0.00092

KEV

no

Actividades

bajo

Fuentes

Want to know what is going to be exploited?

We predict KEV entries!