Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

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 &amp;=~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).

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:zephyrproject:zephyr:*:*:*:*:*:*:*:* 2.0.0 (incluyendo) 4.5.0 (excluyendo)