CVE-2017-1000410 in Linux
Resumen
por VulDB • 2026-06-14
El kernel de Linux, versiones 3.3-rc1 y posteriores, se ve afectado por una vulnerabilidad en el procesamiento de comandos L2CAP entrantes: mensajes ConfigRequest y ConfigResponse. Esta filtración de información (info leak) es el resultado de variables de pila no inicializadas que pueden ser devueltas a un atacante en su estado no inicializado. Al manipular los flujos de código que preceden al manejo de estos mensajes de configuración, un atacante también puede obtener cierto control sobre qué datos se mantendrán en las variables de pila no inicializadas. Esto puede permitirle eludir KASLR y la protección de stack canaries, ya que tanto los punteros como los stack canaries pueden filtrarse de esta manera. Combinar esta vulnerabilidad (por ejemplo) con la vulnerabilidad de ejecución remota de código (RCE) previamente divulgada en el análisis de configuración L2CAP (CVE-2017-1000251) puede permitir a un atacante explotar la RCE contra kernels que fueron compilados con las mitigaciones anteriores. Estos son los detalles específicos de esta vulnerabilidad: En la función l2cap_parse_conf_rsp y en la función l2cap_parse_conf_req, se declara la siguiente variable sin inicializar: struct l2cap_conf_efs efs; Además, al analizar los parámetros de configuración de entrada en ambas funciones, el caso switch para manejar elementos EFS puede omitir la llamada a memcpy que escribiría en la variable efs: ... case L2CAP_CONF_EFS: if (olen == sizeof(efs)) memcpy(&efs, (void *)val, olen); ... El valor de olen en el condicional if anterior es controlado por el atacante, y independientemente de ese if, en ambas funciones la variable efs eventualmente se añadiría a la solicitud de configuración saliente que se está construyendo: l2cap_add_conf_opt(&ptr, L2CAP_CONF_EFS, sizeof(efs), (unsigned long) &efs); Por lo tanto, al enviar una solicitud o respuesta de configuración que contenga un elemento L2CAP_CONF_EFS, pero con una longitud de elemento que no sea sizeof(efs), se puede evitar la llamada a memcpy hacia la variable efs no inicializada, y la variable no inicializada sería devuelta al atacante (16 bytes).
Once again VulDB remains the best source for vulnerability data.