In the Linux kernel, the following vulnerability has been resolved:
can: ucan: fix out of bound read in strscpy() source
Commit 7fdaf8966aae ("can: ucan: use strscpy() to instead of strncpy()") unintentionally introduced a one byte out of bound read on strscpy()'s source argument (which is kind of ironic knowing that strscpy() is meant to be a more secure alternative :)).
Let's consider below buffers:
dest[len + 1]; /* will be NUL terminated */ src[len]; /* may not be NUL terminated */
When doing:
strncpy(dest, src, len); dest[len] = '\0';
strncpy() will read up to len bytes from src.
On the other hand:
strscpy(dest, src, len + 1);
will read up to len + 1 bytes from src, that is to say, an out of bound read of one byte will occur on src if it is not NUL terminated. Note that the src[len] byte is never copied, but strscpy() still needs to read it to check whether a truncation occurred or not.
This exact pattern happened in ucan.
The root cause is that the source is not NUL terminated. Instead of doing a copy in a local buffer, directly NUL terminate it as soon as usb_control_msg() returns. With this, the local firmware_str[] variable can be removed.
On top of this do a couple refactors:
- ucan_ctl_payload->raw is only used for the firmware string, so rename it to ucan_ctl_payload->fw_str and change its type from u8 to char.
- ucan_device_request_in() is only used to retrieve the firmware string, so rename it to ucan_get_fw_str() and refactor it to make it directly handle all the string termination logic.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Suse | — | Upgrade dlm-kmp-defaultUpgrade kernel-docsUpgrade kernel-rt-extraUpgrade kernel-64kb-extraUpgrade kselftests-kmp-defaultUpgrade dtb-apmUpgrade kselftests-kmp-rtUpgrade gfs2-kmp-defaultUpgrade dtb-mediatekUpgrade kernel-rt-livepatch-develUpgrade dtb-armUpgrade dtb-sprdUpgrade dtb-socionextUpgrade kernel-default-base-rebuildUpgrade kernel-obs-qaUpgrade dtb-amlogicUpgrade dtb-rockchipUpgrade dtb-nvidiaUpgrade dlm-kmp-rtUpgrade dtb-renesasUpgrade reiserfs-kmp-rtUpgrade cluster-md-kmp-64kbUpgrade reiserfs-kmp-defaultUpgrade dtb-xilinxUpgrade kernel-obs-buildUpgrade kernel-rt-develUpgrade kernel-azure-vdsoUpgrade kernel-rt_debugUpgrade reiserfs-kmp-azureUpgrade kernel-default-livepatch-develUpgrade cluster-md-kmp-defaultUpgrade kernel-rt_debug-vdsoUpgrade kernel-devel-rtUpgrade dlm-kmp-azureUpgrade kernel-defaultUpgrade kernel-default-baseUpgrade kernel-macrosUpgrade kernel-syms-rtUpgrade kernel-64kb-develUpgrade kernel-default-extraUpgrade kernel-source-azureUpgrade kernel-develUpgrade dtb-amdUpgrade kernel-zfcpdumpUpgrade kernel-source-vanillaUpgrade dtb-appleUpgrade dtb-alteraUpgrade kernel-devel-azureUpgrade gfs2-kmp-rtUpgrade dtb-hisiliconUpgrade kselftests-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade kernel-default-develUpgrade kernel-kvmsmallUpgrade kernel-debug-develUpgrade ocfs2-kmp-64kbUpgrade kernel-docs-htmlUpgrade kernel-azure-extraUpgrade kernel-default-vdsoUpgrade kernel-64kbUpgrade dtb-caviumUpgrade dtb-amazonUpgrade dtb-allwinnerUpgrade ocfs2-kmp-defaultUpgrade cluster-md-kmp-azureUpgrade kernel-kvmsmall-vdsoUpgrade kernel-debugUpgrade kernel-64kb-optionalUpgrade dtb-qcomUpgrade cluster-md-kmp-rtUpgrade kernel-symsUpgrade kernel-default-optionalUpgrade kernel-debug-vdsoUpgrade gfs2-kmp-azureUpgrade dtb-lgUpgrade dtb-exynosUpgrade kselftests-kmp-azureUpgrade kernel-syms-azureUpgrade kernel-source-rtUpgrade kernel-rt-vdsoUpgrade kernel-azure-develUpgrade kernel-rtUpgrade reiserfs-kmp-64kbUpgrade ocfs2-kmp-azureUpgrade kernel-sourceUpgrade kernel-rt-optionalUpgrade gfs2-kmp-64kbUpgrade dtb-freescaleUpgrade dtb-broadcomUpgrade dlm-kmp-64kbUpgrade kernel-rt_debug-develUpgrade kernel-kvmsmall-develUpgrade dtb-marvellUpgrade kernel-azure-optionalUpgrade kernel-default-livepatchUpgrade kernel-azure | Dec 5, 2025 | May 21, 2025 |
| Ubuntu | — | Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.1-1034-realtimeUpgrade linux-image-6.11.0-1017-oracleUpgrade linux-image-6.8.0-1036-gkeUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1040-gcp-64kUpgrade linux-image-6.8.0-1039-nvidia-lowlatencyUpgrade linux-image-oracleUpgrade linux-image-gcp-64kUpgrade linux-image-raspiUpgrade linux-image-generic-lpaeUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-6.11.0-1014-raspiUpgrade linux-image-realtimeUpgrade linux-image-oem-22.04Upgrade linux-image-6.11.0-1015-awsUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-nvidia-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-6.8.0-1037-oracle-64kUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-virtual-6.8Upgrade linux-image-6.8.0-1036-azure-fdeUpgrade linux-image-azure-fde-6.8Upgrade linux-image-6.8.0-85-generic-64kUpgrade linux-image-gkeUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-6.11.0-1011-realtimeUpgrade linux-image-gke-64kUpgrade linux-image-aws-6.8Upgrade linux-image-oem-22.04dUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-generic-64kUpgrade linux-image-lowlatency-6.8Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-azureUpgrade linux-image-gkeopUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-2031-raspi-realtimeUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-raspi-6.8Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-1038-azure-fdeUpgrade linux-image-6.8.0-84-lowlatency-64kUpgrade linux-image-nvidiaUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oem-24.04bUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1036-azureUpgrade linux-image-6.8.0-1039-raspiUpgrade linux-image-genericUpgrade linux-image-azure-nvidia-6.8Upgrade linux-image-nvidia-64kUpgrade linux-image-aws-lts-24.04Upgrade linux-image-azure-nvidia-lts-24.04Upgrade linux-image-ibm-6.8Upgrade linux-image-6.8.0-1039-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1039-awsUpgrade linux-image-oem-22.04cUpgrade linux-image-azure-nvidiaUpgrade linux-image-azure-6.11Upgrade linux-image-6.8.0-1025-azure-nvidiaUpgrade linux-image-6.8.0-84-genericUpgrade linux-image-6.8.0-1038-azureUpgrade linux-image-gke-64k-6.8Upgrade linux-image-6.8.0-1023-gkeopUpgrade linux-image-6.8.0-1039-nvidia-64kUpgrade linux-image-6.11.0-1018-azureUpgrade linux-image-lowlatency-6.11Upgrade linux-image-oracle-64kUpgrade linux-image-6.11.0-1016-gcp-64kUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.8.0-84-generic-64kUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-6.8.0-1036-gke-64kUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-azure-fde-edgeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.11.0-1024-oemUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.11.0-1015-lowlatencyUpgrade linux-image-6.11.0-1016-gcpUpgrade linux-image-oem-22.04bUpgrade linux-image-oracle-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-6.11.0-28-generic-64kUpgrade linux-image-gkeop-6.8Upgrade linux-image-azure-fde-6.11Upgrade linux-image-6.11.0-28-genericUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-aws-64k-6.8Upgrade linux-image-gcpUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-aws-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-lowlatency-64k-6.11Upgrade linux-image-virtualUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1040-gcpUpgrade linux-image-gke-6.8Upgrade linux-image-6.11.0-1015-lowlatency-64kUpgrade linux-image-raspi-realtimeUpgrade linux-image-kvmUpgrade linux-image-generic-64k-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-84-lowlatencyUpgrade linux-image-6.8.0-1037-oracleUpgrade linux-image-6.11.0-1018-azure-fdeUpgrade linux-image-6.8.0-1037-ibmUpgrade linux-image-awsUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-85-genericUpgrade linux-image-6.11.0-1017-oracle-64kUpgrade linux-image-ibmUpgrade linux-image-oem-22.04aUpgrade linux-image-generic-6.8Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.8.0-1039-nvidiaUpgrade linux-image-6.8.0-1039-aws-64k | Jun 26, 2025 | Apr 3, 2025 |
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