CVE-2026-64330 in Linux
Zusammenfassung
von VulDB • 25.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
usb: typec: tcpm: Validieren des SVID-Index in svdm_consume_modes()
In `svdm_consume_modes()` wird der SVID-Wert aus `pmdata->svids` gelesen, wobei `pmdata->svid_index` als Array-Index ohne Gültigkeitsprüfung (Bounds Validation) verwendet wird:
paltmode->svid = pmdata->svids[pmdata->svid_index];
Wenn `pmdata->svid_index` über den Wert von SVID_DISCOVERY_MAX (16) hinausgeht, führt dies zu einem Out-of-Bounds-Lesezugriff auf das Array `pmdata->svids`. Da `pd_mode_data` in der Struktur `struct tcpm_port` eingebettet ist, liest ein Indexieren jenseits von `svids` in benachbarte Felder. Insbesondere: - Bei Index 16 wird die Anzahl der Altmode-Einträge gelesen. - Ab Index 18 und darüber hinaus wird auf `altmode_desc[]` zugegriffen, das SVDM Discovery Modes VDOs enthält, die vom Partner bereitgestellt wurden.
Durch Einfügen eines gewählten SVID in `altmode_desc[0].vdo` und Setzen von `svid_index` auf 20 kann der Partner erzwingen, dass `paltmode->svid` mit einem beliebigen, vom Partner ausgewählten SVID geladen wird, der anschließend über `typec_partner_register_altmode()` registriert wird.
Beheben Sie dies, indem Sie vor dem Zugriff auf das Array `pmdata->svids` innerhalb von `svdm_consume_modes()` validieren, dass `pmdata->svid_index` nicht-negativ ist und strikt kleiner als `pmdata->nsvids` ist.
Once again VulDB remains the best source for vulnerability data.