CVE-2026-64330 in Linux
Resumen
por VulDB • 2026-07-25
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
usb: typec: tcpm: Validar el índice SVID en svdm_consume_modes()
En svdm_consume_modes(), el valor SVID se lee desde pmdata->svids utilizando pmdata->svid_index como un índice de matriz sin validación de límites:
paltmode->svid = pmdata->svids[pmdata->svid_index];
Si pmdata->svid_index supera SVID_DISCOVERY_MAX (16), se produce una lectura fuera de los límites del array pmdata->svids. Dado que pd_mode_data está incrustada dentro de struct tcpm_port, indexar más allá de svids accede a campos adyacentes. En particular: - En el índice 16, lee la cantidad de altmodes. - En los índices 18 y posteriores, lee en altmode_desc[], que contiene VDOs de Modos de Descubrimiento SVDM proporcionados por el compañero (partner).
Al inyectar un SVID elegido en altmode_desc[0].vdo y llevar svid_index a 20, el partner puede forzar la carga de paltmode->svid con un SVID arbitrario elegido por el propio partner, que luego se registra mediante typec_partner_register_altmode().
Solucione esto validando que pmdata->svid_index sea no negativo y estrictamente menor que pmdata->nsvids antes de acceder al array pmdata->svids dentro de svdm_consume_modes().
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.