CVE-2026-64330
Description
In the Linux kernel, the following vulnerability has been resolved: usb: typec: tcpm: Validate SVID index in svdm_consume_modes() In svdm_consume_modes(), the SVID value is read from pmdata->svids using pmdata->svid_index as an array index without bounds validation: paltmode->svid = pmdata->svids[pmdata->svid_index]; If pmdata->svid_index is driven beyond SVID_DISCOVERY_MAX (16), it results in an out-of-bounds read of the pmdata->svids array. Because pd_mode_data is embedded inside struct tcpm_port, indexing past svids reads into adjacent fields. In particular: - At index 16, it reads the altmodes count. - At index 18 and beyond, it reads into altmode_desc[], which contains partner-supplied SVDM Discovery Modes VDOs. By injecting a chosen SVID into altmode_desc[0].vdo and driving svid_index to 20, the partner can force paltmode->svid to be loaded with an arbitrary, partner- chosen SVID, which is then registered via typec_partner_register_altmode(). Fix this by validating that pmdata->svid_index is non-negative and strictly less than pmdata->nsvids before accessing the pmdata->svids array inside svdm_consume_modes().
How to fix
- linux linux_kernel5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 or later
- git.kernel.org/stable/c/012406f89abc52d1d5f07aa5653b519ebf6d2407
- git.kernel.org/stable/c/313ca06e7e224ca1dfadd5722fe71fb8bc276b8b
- git.kernel.org/stable/c/3e1b1ac47e8163627f159f30d80d51b914620dd4
- git.kernel.org/stable/c/7b681dd5fbf60b24a13c14661e5b7735759fb491
- git.kernel.org/stable/c/89ff289cbf5d3b659a2babc5ccaae4eaf7e7cf53
- git.kernel.org/stable/c/c6d2af3b217a525741c472f0ab45d7d274b8468f
- git.kernel.org/stable/c/d638ec188e95fe60f4b01106ffd41958f8fb3c2c
- git.kernel.org/stable/c/f8163c414de8640f2ca82ce4dc93409d4cdc2fad
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| linux linux_kernel | 4.19 ≤ v < 5.10.261, 5.11 ≤ v < 5.15.212, 5.16 ≤ v < 6.1.178, 6.2 ≤ v < 6.6.145, 6.7 ≤ v < 6.12.96, 6.13 ≤ v < 6.18.39, 6.19 ≤ v < 7.1.4, 7.2 | 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.