Skip to main content
VulnerabilityPublished Updated

CVE-2026-64330: Linux kernel · usb: typec: tcpm: Validate SVID index in svdm_consume_modes()

Affects Linux kernelSource CVE Database V5

0
Compare

Not known to be exploited · fixed in f8163c414de8640f2ca82ce4dc93409d4cdc2fad : update Linux kernel when convenient.

Data as of 6 Nov 2026, 17:04 UTC

Severity
Unrated

Rated by Threat Radar · No CVSS score from NVD or the CNA

Thin evidence

One scorer or none
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers cannot reliably automate steps 1–4 of the kill chain
Technical impact
Limited control over the software or limited information exposure

CISA SSVC assessment, 2026-11-06.

Patch
Available – fixed in f8163c414de8640f2ca82ce4dc93409d4cdc2fad, d638ec188e95fe60f4b01106ffd41958f8fb3c2c, c6d2af3b217a525741c472f0ab45d7d274b8468f +5

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 25 Jul 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 6 Nov 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ 4ab8c18d4d67321cc7b660559de17511d4fc0237, < f8163c414de8640f2ca82ce4dc93409d4cdc2fad
Fixed in
  • f8163c414de8640f2ca82ce4dc93409d4cdc2fad
LinuxLinuxAffected
  • ≥ 4ab8c18d4d67321cc7b660559de17511d4fc0237, < d638ec188e95fe60f4b01106ffd41958f8fb3c2c
Fixed in
  • d638ec188e95fe60f4b01106ffd41958f8fb3c2c
LinuxLinuxAffected
  • ≥ 4ab8c18d4d67321cc7b660559de17511d4fc0237, < c6d2af3b217a525741c472f0ab45d7d274b8468f
Fixed in
  • c6d2af3b217a525741c472f0ab45d7d274b8468f
LinuxLinuxAffected
  • ≥ 4ab8c18d4d67321cc7b660559de17511d4fc0237, < 012406f89abc52d1d5f07aa5653b519ebf6d2407
Fixed in
  • 012406f89abc52d1d5f07aa5653b519ebf6d2407
LinuxLinuxAffected
  • ≥ 4ab8c18d4d67321cc7b660559de17511d4fc0237, < 313ca06e7e224ca1dfadd5722fe71fb8bc276b8b
Fixed in
  • 313ca06e7e224ca1dfadd5722fe71fb8bc276b8b
LinuxLinuxAffected
  • ≥ 4ab8c18d4d67321cc7b660559de17511d4fc0237, < 89ff289cbf5d3b659a2babc5ccaae4eaf7e7cf53
Fixed in
  • 89ff289cbf5d3b659a2babc5ccaae4eaf7e7cf53

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().

References

Community reviews

Loading reviews…