In the Linux kernel, the following vulnerability has been resolved: usb: typec: tcpm: Validate SVID index in svdm_consume_modes() In… (CVE-2026-64330)
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().
AI Analysis
Technical Summary
The Linux kernel vulnerability CVE-2026-64330 involves an out-of-bounds read in the usb: typec: tcpm driver within the svdm_consume_modes() function. The function reads the SVID value from an array using an index (pmdata->svid_index) without validating that the index is within bounds. If the index exceeds the maximum allowed (SVID_DISCOVERY_MAX = 16), it reads beyond the array into adjacent memory fields, including altmode descriptors controlled by a connected partner device. By manipulating the index and altmode descriptors, a partner device can cause the kernel to register an arbitrary SVID via typec_partner_register_altmode(). The vulnerability was fixed by adding validation to ensure pmdata->svid_index is non-negative and less than the number of SVIDs (pmdata->nsvids) before array access.
Potential Impact
The vulnerability allows a connected USB Type-C partner device to cause the kernel to read out-of-bounds memory and register an arbitrary SVID. This could potentially lead to incorrect behavior in USB Type-C alternate mode handling or other kernel subsystems relying on SVID values. No direct evidence of code execution or privilege escalation is provided. No known exploits in the wild have been reported.
Mitigation Recommendations
A fix is available that validates the SVID index before accessing the array in svdm_consume_modes(). Users should apply the official Linux kernel updates that include this patch. Since this is a kernel vulnerability, updating to a patched kernel version is the recommended remediation. Patch status is not explicitly confirmed in the provided data; check the vendor or Linux kernel advisory for the exact fixed versions and update accordingly.
In the Linux kernel, the following vulnerability has been resolved: usb: typec: tcpm: Validate SVID index in svdm_consume_modes() In… (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().
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Linux kernel vulnerability CVE-2026-64330 involves an out-of-bounds read in the usb: typec: tcpm driver within the svdm_consume_modes() function. The function reads the SVID value from an array using an index (pmdata->svid_index) without validating that the index is within bounds. If the index exceeds the maximum allowed (SVID_DISCOVERY_MAX = 16), it reads beyond the array into adjacent memory fields, including altmode descriptors controlled by a connected partner device. By manipulating the index and altmode descriptors, a partner device can cause the kernel to register an arbitrary SVID via typec_partner_register_altmode(). The vulnerability was fixed by adding validation to ensure pmdata->svid_index is non-negative and less than the number of SVIDs (pmdata->nsvids) before array access.
Potential Impact
The vulnerability allows a connected USB Type-C partner device to cause the kernel to read out-of-bounds memory and register an arbitrary SVID. This could potentially lead to incorrect behavior in USB Type-C alternate mode handling or other kernel subsystems relying on SVID values. No direct evidence of code execution or privilege escalation is provided. No known exploits in the wild have been reported.
Mitigation Recommendations
A fix is available that validates the SVID index before accessing the array in svdm_consume_modes(). Users should apply the official Linux kernel updates that include this patch. Since this is a kernel vulnerability, updating to a patched kernel version is the recommended remediation. Patch status is not explicitly confirmed in the provided data; check the vendor or Linux kernel advisory for the exact fixed versions and update accordingly.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-5x5w-f8x6-m8wf
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-64330"]
- Ecosystems
- []
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a65420d9c2644c7f80859fb
Added to database: 07/25/2026, 23:09:01 UTC
Last enriched: 07/25/2026, 23:35:51 UTC
Last updated: 09/07/2026, 10:52:10 UTC
Views: 33
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.