CVE-2026-64330 in Linux
Riassunto
di VulDB • 26/07/2026
Nel kernel Linux, la seguente vulnerabilità è stata risolta:
usb: typec: tcpm: Validare l'indice SVID in svdm_consume_modes()
In svdm_consume_modes(), il valore SVID viene letto da pmdata->svids utilizzando pmdata->svid_index come indice di array senza una validazione dei limiti (bounds validation):
paltmode->svid = pmdata->svids[pmdata->svid_index];
Se pmdata->svid_index supera il valore SVID_DISCOVERY_MAX (16), si verifica una lettura fuori dai limiti (out-of-bounds read) dell'array pmdata->svids. Poiché pd_mode_data è incorporato all'interno di struct tcpm_port, l'indicizzazione oltre svids porta alla lettura dei campi adiacenti. In particolare: - All'indice 16, viene letto il conteggio degli altmodes. - Dall'indice 18 in poi, si legge nella matrice altmode_desc[], che contiene i VDO (Vendor Defined Objects) delle Modalità di Scoperta SVDM forniti dal partner.
Iniettando un SVID scelto nell'altmode_desc[0].vdo e impostando svid_index a 20, il partner può forzare il caricamento in paltmode->svid con un SVID arbitrario scelto dal partner stesso, che viene quindi registrato tramite typec_partner_register_altmode().
Risolvere questo problema validando che pmdata->svid_index sia non negativo e strettamente inferiore a pmdata->nsvids prima di accedere all'array pmdata->svids all'interno di svdm_consume_modes().
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.