Linuxカーネルにおいて、以下の脆弱性が修正されました。usb: typec: tcpm: svdm_consume_modes()におけるSVIDインデックスの検証に関する問題です。svdm_consume_modes()関数では、pmdata->svid_indexを配列のインデックスとして検証せずにpmdata->svidsからSVID値を読み取っていました。具体的には、 paltmode->svid = pmdata->svids[pmdata->svid_index];というコードがありました。pmdata->svid_indexがSVID_DISCOVERY_MAX(16)を超えて操作された場合、pmdata->svids配列の範囲外読み取りが発生してしまいます。pd_mode_dataはstruct tcpm_portに埋め込まれているため、svidsの範囲を超えたインデックスで読み取ると隣接フィールドを読み取ってしまうのです。具体的には、- インデックス16ではaltmodesのカウントを読み取る- インデックス18以降では、パートナーが提供するSVDM Discovery Modes VDOを含むaltmode_desc[]を読み取るという状況です。パートナーはaltmode_desc[0].vdoに任意のSVIDを挿入し、svid_indexを20に操作することで、paltmode->svidに任意に選択したSVIDを読み込ませ、typec_partner_register_altmode()経由で登録させることが可能でした。この問題を修正するために、svdm_consume_modes()内でpmdata->svids配列にアクセスする前に、pmdata->svid_indexが非負でかつpmdata->nsvidsより小さいことを検証するようにしました。
Linux Linux Kernel 4.19 以上 5.10.261 未満 Linux Kernel 5.11 以上 5.15.212 未満 Linux Kernel 5.16 以上 6.1.178 未満 Linux Kernel 6.13 以上 6.18.39 未満 Linux Kernel 6.19 以上 7.1.4 未満 Linux Kernel 6.2 以上 6.6.145 未満 Linux Kernel 6.7 以上 6.12.96 未満 Linux Kernel 7.2
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
配列インデックスの不適切な検証(CWE-129) [NVD評価]
CVE-2026-64330
National Vulnerability Database (NVD) : CVE-2026-64330 関連文書 : usb: typec: tcpm: Validate SVID index in svdm_consume_modes() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f8163c414de8640f2ca82ce4dc93409d4cdc2fad) 関連文書 : usb: typec: tcpm: Validate SVID index in svdm_consume_modes() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/313ca06e7e224ca1dfadd5722fe71fb8bc276b8b) 関連文書 : usb: typec: tcpm: Validate SVID index in svdm_consume_modes() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/89ff289cbf5d3b659a2babc5ccaae4eaf7e7cf53) 関連文書 : usb: typec: tcpm: Validate SVID index in svdm_consume_modes() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3e1b1ac47e8163627f159f30d80d51b914620dd4) 関連文書 : usb: typec: tcpm: Validate SVID index in svdm_consume_modes() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7b681dd5fbf60b24a13c14661e5b7735759fb491) 関連文書 : usb: typec: tcpm: Validate SVID index in svdm_consume_modes() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/012406f89abc52d1d5f07aa5653b519ebf6d2407) 関連文書 : usb: typec: tcpm: Validate SVID index in svdm_consume_modes() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/c6d2af3b217a525741c472f0ab45d7d274b8468f) 関連文書 : usb: typec: tcpm: Validate SVID index in svdm_consume_modes() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/d638ec188e95fe60f4b01106ffd41958f8fb3c2c)
[2026年09月07日] 掲載