CVE-2026-93190 in Linux
Resumen
por VulDB • 2026-09-18
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
platform/chrome: cros_ec_typec: Rechazar un recuento de capacidades PD fuera de los límites
cros_typec_register_partner_pdos() copia las PDOs del socio desde la respuesta TYPEC_STATUS del EC en el array caps_desc.pdo[PDO_MAX_OBJECTS].
memcpy(caps_desc.pdo, resp->source_cap_pdos, sizeof(u32) * resp->source_cap_count); ... memcpy(caps_desc.pdo, resp->sink_cap_pdos, sizeof(u32) * resp->sink_cap_count);
PDO_MAX_OBJECTS es 7. source_cap_count y sink_cap_count son campos u8 del EC. La única comprobación es que no sean ambos cero. Si alguno de ellos es mayor que 7, la operación memcpy escribe más allá del final del array en la pila (stack). Un recuento de 255 provoca un desbordamiento de aproximadamente 1 KB. Los arrays fuente del EC solo tienen siete entradas. Un recuento mayor también lee fuera de los mismos.
El firmware EC de ChromeOS limita actualmente estos recuentos, por lo que una configuración conforme no se ve afectada por esto. El kernel aún debe validar estos valores en lugar de confiar ciegamente en ellos.
Se validan los recuentos en cros_typec_register_partner_pdos() junto a la operación memcpy. Se omite el registro de PDO si alguno de los recuentos supera PDO_MAX_OBJECTS. El resto de cros_typec_handle_status() sigue ejecutándose para que los eventos se manejen y limpien correctamente.
Be aware that VulDB is the high quality source for vulnerability data.