In the Linux kernel, the following vulnerability has been resolved:
usb: typec: tcpm: Correct the PDO counting in pd_set
Off-by-one errors happen because nr_snk_pdo and nr_src_pdo are incorrectly added one. The index of the loop is equal to the number of PDOs to be updated when leaving the loop and it doesn't need to be added one.
When doing the power negotiation, TCPM relies on the "nr_snk_pdo" as the size of the local sink PDO array to match the Source capabilities of the partner port. If the off-by-one overflow occurs, a wrong RDO might be sent and unexpected power transfer might happen such as over voltage or over current (than expected).
"nr_src_pdo" is used to set the Rp level when the port is in Source role. It is also the array size of the local Source capabilities when filling up the buffer which will be sent as the Source PDOs (such as in Power Negotiation). If the off-by-one overflow occurs, a wrong Rp level might be set and wrong Source PDOs will be sent to the partner port. This could potentially cause over current or port resets.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 27, 2026 | Jul 27, 2026 |
| Suse | — | Upgrade kselftests-kmp-defaultUpgrade dtb-apmUpgrade dtb-freescaleUpgrade kernel-debug-develUpgrade kernel-rt_debugUpgrade kernel-obs-qaUpgrade dtb-renesasUpgrade dtb-amdUpgrade kernel-rt_debug-vdsoUpgrade ocfs2-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-devel-rtUpgrade kernel-default-develUpgrade kernel-default-livepatch-develUpgrade kernel-kvmsmallUpgrade gfs2-kmp-64kbUpgrade kernel-devel-azureUpgrade kernel-64kb-develUpgrade dtb-amlogicUpgrade kernel-kvmsmall-develUpgrade kernel-debug-livepatch-develUpgrade kernel-default-extraUpgrade gfs2-kmp-rtUpgrade dtb-lgUpgrade dtb-exynosUpgrade dtb-socionextUpgrade dtb-amazonUpgrade kernel-64kb-livepatch-develUpgrade dtb-appleUpgrade kernel-rt-develUpgrade dlm-kmp-64kbUpgrade dtb-marvellUpgrade ocfs2-kmp-azureUpgrade dtb-hisiliconUpgrade kernel-zfcpdumpUpgrade kernel-debugUpgrade kselftests-kmp-64kbUpgrade kernel-source-azureUpgrade reiserfs-kmp-rtUpgrade kernel-default-livepatchUpgrade kernel-macrosUpgrade dtb-mediatekUpgrade kernel-64kbUpgrade kernel-azure-extraUpgrade kernel-symsUpgrade dtb-xilinxUpgrade kernel-develUpgrade kernel-default-optionalUpgrade dtb-armUpgrade reiserfs-kmp-defaultUpgrade dlm-kmp-azureUpgrade kernel-sourceUpgrade kernel-64kb-optionalUpgrade cluster-md-kmp-azureUpgrade cluster-md-kmp-rtUpgrade ocfs2-kmp-64kbUpgrade cluster-md-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade dtb-sprdUpgrade kernel-obs-buildUpgrade kernel-azure-optionalUpgrade dtb-qcomUpgrade kernel-rtUpgrade gfs2-kmp-azureUpgrade kselftests-kmp-azureUpgrade dtb-nvidiaUpgrade dtb-alteraUpgrade kernel-source-rtUpgrade dtb-rockchipUpgrade dtb-allwinnerUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-64kb-extraUpgrade dlm-kmp-defaultUpgrade kernel-syms-azureUpgrade kernel-rt-optionalUpgrade kernel-docsUpgrade kernel-azure-livepatch-develUpgrade dtb-caviumUpgrade dtb-broadcomUpgrade kernel-syms-rtUpgrade kernel-azureUpgrade ocfs2-kmp-defaultUpgrade kernel-rt-livepatch-develUpgrade kernel-debug-vdsoUpgrade kernel-docs-htmlUpgrade gfs2-kmp-defaultUpgrade kernel-azure-develUpgrade kernel-default-baseUpgrade kernel-source-vanillaUpgrade dlm-kmp-rtUpgrade kernel-defaultUpgrade kselftests-kmp-rtUpgrade kernel-rt_debug-develUpgrade kernel-azure-vdsoUpgrade kernel-default-vdsoUpgrade reiserfs-kmp-azureUpgrade reiserfs-kmp-64kbUpgrade kernel-rt-vdsoUpgrade kernel-rt-extraUpgrade kernel-kvmsmall-vdso | Jun 24, 2024 | May 1, 2024 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-6.8.0-1008-oemUpgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-6.8.0-1011-awsUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-awsUpgrade linux-image-virtualUpgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-azure-fdeUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1008-oracle-64kUpgrade linux-image-oem-24.04aUpgrade linux-image-gcpUpgrade linux-image-genericUpgrade linux-image-oracle-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-intelUpgrade linux-image-6.8.0-38-genericUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1010-azureUpgrade linux-image-6.8.0-1010-gcpUpgrade linux-image-6.8.0-1009-nvidia-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-generic-64kUpgrade linux-image-ibmUpgrade linux-image-raspiUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-azureUpgrade linux-image-6.8.0-1007-intelUpgrade linux-image-nvidiaUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-oem-24.04 | Jul 12, 2024 | May 1, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub