Vulnerabilidad en zephyr de zephyrproject (CVE-2026-10681)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-362
Ejecución concurrente utilizando recursos compartidos con una incorrecta sincronización (Condición de carrera)
Fecha de publicación:
25/07/2026
Última modificación:
24/10/2026
Descripción
En el subsistema de objetos dinámicos del espacio de usuario de Zephyr, thread_idx_alloc() en kernel/userspace/userspace.c asignó un nuevo índice de permiso de hilo del mapa de bits global _thread_idx_map[] sin mantener lists_lock.<br />
<br />
En sistemas SMP, dos hilos en modo usuario que invocan la llamada al sistema k_object_alloc(K_OBJ_THREAD) concurrentemente pueden observar el mismo bit libre más bajo, realizar la misma operación RMW no atómica para borrarlo y devolver el tidx idéntico.<br />
<br />
A los dos objetos K_OBJ_THREAD recién creados se les asigna entonces el mismo thread_id, por lo que los dos hilos de usuario hacen alias a una única posición de bit en el campo de bits perms[] de cada objeto del kernel: cualquier concesión posterior de acceso en un objeto del kernel a un hilo es implícitamente una concesión al otro, lo que anula el aislamiento de ACL del espacio de usuario. Una ventana secundaria de actualización perdida entre el &=~BIT() desbloqueado en alloc y el |= BIT() bloqueado en thread_idx_free() también puede filtrar entradas del grupo de índices de hilos.<br />
<br />
El defecto es alcanzable desde cualquier hilo en modo usuario a través de la llamada al sistema __syscall k_object_alloc sin restricciones y está condicionado por CONFIG_USERSPACE, CONFIG_DYNAMIC_OBJECTS y CONFIG_SMP. La falla fue introducida cuando se añadió el índice de permiso por hilo en 2018 y está presente en cada versión hasta la v4.4.0 inclusive. Solucionado manteniendo lists_lock durante la operación RMW del mapa de bits y la limpieza de permisos (e inlining la traversión de obj_list que previamente tomaba el bloqueo por sí misma).
Impacto
Puntuación base 3.x
6.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:zephyrproject:zephyr:*:*:*:*:*:*:*:* | 2.0.0 (incluyendo) | 4.5.0 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página


