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

Vulnerabilidad en zephyr de zephyrproject (CVE-2026-10657)

Gravedad CVSS v3.1:
BAJA
Tipo:
CWE-125 Lectura fuera de límites
Fecha de publicación:
05/07/2026
Última modificación:
25/10/2026

Descripción

El resolvedor DNS de Zephyr detecta consultas mDNS (.local) en dns_resolve_name_internal() (subsys/net/lib/dns/resolve.c) con memcmp(strrchr(query, ’.’), “.local”, 7), que siempre lee 7 bytes fijos del puntero de sufijo. Cuando la etiqueta final del nombre de host resuelto es más corta que 7 bytes (por ejemplo, nombres que terminan en .org, .com, .net, .io, o un punto final), la comparación lee 1-2 bytes más allá del terminador NUL de la cadena. El nombre de host (consulta) es el nombre proporcionado por el llamador pasado a través de la ruta estándar getaddrinfo()/dns_get_addr_info()/dns_resolve_name() y es influenciable por operadores o entradas remotas (nombres de servidor de la configuración, URLs analizadas o interfaces orientadas a la aplicación). En un búfer de tamaño ajustado sin holgura (por ejemplo, una llamada getaddrinfo en espacio de usuario donde el nombre de host se copia con k_usermode_string_alloc_copy a exactamente strlen+1 bytes), la lectura excesiva cruza el límite de asignación; si ese límite no está mapeado (página de guarda, límite de dominio de memoria bajo MPU, o un sanitizador de direcciones) la lectura excesiva falla, causando una denegación de servicio. Los bytes leídos en exceso nunca se devuelven, por lo que no hay revelación de información. La falla se compila solo cuando CONFIG_MDNS_RESOLVER está habilitado, existe desde la v1.10.0, y se corrige reemplazando el memcmp de longitud fija con un strcmp(ptr, “.local”) seguro contra NUL.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:zephyrproject:zephyr:*:*:*:*:*:*:*:* 1.10.0 (incluyendo) 4.4.0 (incluyendo)