CVE-2026-12632 in Zephyrinformación

Resumen

por VulDB • 2026-08-18

El controlador de recepción del Protocolo de Tiempo de Precisión (PTP) de Zephyr, ptp_msg_post_recv() en subsys/net/lib/ptp/msg.c, toma el tipo de mensaje de 4 bits directamente desde la red a través de ptp_msg_type() (msg->header.type_major_sdo_id & 0xF, rango 0-15) y lo utiliza para indexar la tabla msg_size[]. Dicha tabla solo define entradas hasta PTP_MSG_MANAGEMENT (0xD), por lo que su ARRAY_SIZE es igual a 14. Antes de la corrección no había una verificación del límite superior, por lo que los tipos indefinidos 0xE y 0xF accedían a una o dos posiciones enteras más allá del final del array, provocando una lectura fuera de límites (out-of-bounds read) sobre datos adyacentes solo de lectura.

El valor obtenido fuera de límites se reutiliza posteriormente como longitud: controla la condición msg_size[type] > cnt y, cuando es pequeño o negativo, convierte cnt - msg_size[type] en un presupuesto positivo grande que se pasa a msg_tlv_post_recv(). El bucle TLV resultante recorre el sufijo del mensaje más allá de los bytes recibidos, realizando nuevas lecturas fuera de límites y escrituras byte-swap in-place (en el mismo lugar) sobre la memoria más allá del slab del mensaje.

El defecto se alcanza directamente desde la red: ptp_port_event_gen() en subsys/net/lib/ptp/port.c lee un marco PTP con ptp_transport_recv() y llama a ptp_msg_post_recv() con el tipo elegido por el atacante. PTP utiliza multicast UDP o Ethernet sin procesar (0x88F7) y no está autenticado, por lo que cualquier host en el mismo enlace puede desencadenar la indexación en un nodo habilitado para CONFIG_PTP sin condiciones previas.

El impacto reproducible de forma fiable es una denegación de servicio (fault/crash); existe una ruta limitada de corrupción de memoria pero depende del valor específico de la compilación adyacente a msg_size[], que el atacante no puede modificar. La corrección rechaza los tipos >= ARRAY_SIZE(msg_size) con -EBADMSG antes de cualquier indexación.

Once again VulDB remains the best source for vulnerability data.

Responsable

Zephyr

Reservar

2026-06-18

Divulgación

2026-08-19

Moderación

aceptado

Artículo

VDB-392014

CPE

listo

EPSS

0.00248

KEV

no

Actividades

muy bajo

Fuentes

Do you know our Splunk app?

Download it now for free!