Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.2 | 6.6.85 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.12.21-1 | — |
| Debian 13 | linux | 6.12.21-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | linux | 6.8.0-84.84 | USN-7764-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1039.41 | USN-7764-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1038.44 | USN-7802-1 |
| Ubuntu 24.04 LTS | linux-azure-6.11 | 6.11.0-1018.18~24.04.1 | USN-7628-1 |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1025.27 | USN-7809-1 |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1040.42 | USN-7764-1 |
| Ubuntu 24.04 LTS | linux-gcp-6.11 | 6.11.0-1016.16~24.04.1 | USN-7605-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1036.40 | USN-7764-1 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1023.25 | USN-7764-1 |
| Ubuntu 24.04 LTS | linux-hwe-6.11 | 6.11.0-28.28~24.04.1 | USN-7605-1 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1037.37 | USN-7779-1 |
| Ubuntu 24.04 LTS | linux-intel +4 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-84.84.1 | USN-7764-1 |
| Ubuntu 24.04 LTS | linux-lowlatency-hwe-6.11 | 6.11.0-1015.16~24.04.2 | USN-7605-2 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1039.42 | USN-7765-1 |
| Ubuntu 24.04 LTS | linux-nvidia-6.11 | 6.11.0-1012.12 | — |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1039.42.1 | USN-7765-1 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1010.10 | — |
| Ubuntu 24.04 LTS | linux-oem-6.11 | 6.11.0-1024.24 | USN-7606-1 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1037.38 | USN-7801-2 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1039.43 | USN-7790-1 |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1018.19 | — |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1039.41~22.04.1 | USN-7766-1 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1036.42~22.04.1 | USN-7802-1 |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1040.42~22.04.1 | USN-7766-1 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-85.85~22.04.1 | USN-7801-1, USN-7764-2 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1037.37~22.04.1 | USN-7779-1 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-84.84.1~22.04.1 | USN-7764-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1039.42~22.04.1 | USN-7765-1 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1037.38~22.04.1 | USN-7801-3 |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 | 6.8.0-84.84~22.04.1 | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2030.31 | USN-7800-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1034.35 | USN-7767-1 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1034.35~22.04.1 | USN-7767-2 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1039.41+fips1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1040.46+fips1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-84.84+fips1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1040.42+fips1 | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +6 | 6.4.0-150700.53.3.1 | SUSE-SU-2025:01951-1 |
| SLES 15 SP7 | kernel-azure +2 | 6.4.0-150700.20.3.1 | SUSE-SU-2025:01967-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.3.1.150700.17.2.1 | SUSE-SU-2025:01951-1 |
| SLES 15 SP6 | kernel-64kb +6 | 6.4.0-150600.23.50.1 | SUSE-SU-2025:01614-1 |
| SLES 15 SP6 | kernel-azure +2 | 6.4.0-150600.8.37.1 | SUSE-SU-2025:01707-1 |
| SLES 15 SP6 | kernel-coco +3 | 6.4.0-15061.21.coco15sp6.1 | SUSE-SU-2025:01919-1 |
| SLES 15 SP6 | kernel-default-base | 6.4.0-150600.23.50.1.150600.12.22.1 | SUSE-SU-2025:01614-1 |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLE Micro 6.1 | kernel-default-base | 6.4.0-28.1.21.6 | SUSE-SU-2025:20270-1 |
| SLE Micro 6.1 | kernel-livepatch-MICRO-6-0-RT_Update_7 | 1-1.3 | SUSE-SU-2025:20283-1 |
| SLE Micro 6.1 | kernel-livepatch-MICRO-6-0_Update_6 | 1-3.1 | SUSE-SU-2025:20270-1 |
| SLE Micro 6.1 | kernel-rt +1 | 6.4.0-30.1 | SUSE-SU-2025:20283-1 |
| SLE Micro 6.1 | kernel-source +2 | 6.4.0-28.1 | SUSE-SU-2025:20270-1 |
| SLE Micro 6.0 | kernel-default-base | 6.4.0-28.1.21.6 | SUSE-SU-2025:20192-1 |
| SLE Micro 6.0 | kernel-livepatch-MICRO-6-0-RT_Update_7 | 1-1.3 | SUSE-SU-2025:20206-1 |
| SLE Micro 6.0 | kernel-livepatch-MICRO-6-0_Update_6 | 1-3.1 | SUSE-SU-2025:20192-1 |
| SLE Micro 6.0 | kernel-rt +1 | 6.4.0-30.1 | SUSE-SU-2025:20206-1 |
| SLE Micro 6.0 | kernel-source +2 | 6.4.0-28.1 | SUSE-SU-2025:20192-1 |
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.3.1 | SUSE-SU-2025:01951-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_1 | 1-150700.15.3.1 | SUSE-SU-2025:01951-1 |
| SLE Live Patching 15 SP6 | kernel-default | 6.4.0-150600.23.50.1 | SUSE-SU-2025:01614-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_11 | 1-150600.1.3.2 | SUSE-SU-2025:01964-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_11 | 1-150600.13.3.1 | SUSE-SU-2025:01614-1 |
| SUSE Real Time Module 15 SP6 | kernel-rt +3 | 6.4.0-150600.10.39.1 | SUSE-SU-2025:01964-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.6 | dtb-aarch64 +10 | 6.4.0-150600.23.50.1 | SUSE-SU-2025:01614-1 |
| openSUSE Leap 15.6 | kernel-azure +2 | 6.4.0-150600.8.37.1 | SUSE-SU-2025:01707-1 |
| openSUSE Leap 15.6 | kernel-default-base | 6.4.0-150600.23.50.1.150600.12.22.1 | SUSE-SU-2025:01614-1 |
| openSUSE Leap 15.6 | kernel-rt +3 | 6.4.0-150600.10.39.1 | SUSE-SU-2025:01964-1 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | 6.6.85.1-2 | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | kernel-uek +34 | 6.12.0-101.33.4.3.el10uek | ELSA-2025-20530, ELSA-2025-20480 |
Advisories 31
- USN-7802-1 linux-azure, linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7809-1 linux-azure-nvidia vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7801-1 linux-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7801-3 linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7800-1 linux-raspi-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7801-2 linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7628-1 linux-azure, linux-azure-6.11 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7605-1 linux, linux-aws, linux-gcp, linux-gcp-6.11, linux-hwe-6.11, linux-oracle, linux-raspi, linux-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7605-2 linux-lowlatency, linux-lowlatency-hwe-6.11 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7606-1 linux-oem-6.11 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7764-1 linux, linux-aws, linux-gcp, linux-gke, linux-gkeop, linux-lowlatency, linux-lowlatency-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7765-1 linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7766-1 linux-aws-6.8, linux-gcp-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7767-2 linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7767-1 linux-realtime vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7779-1 linux-ibm, linux-ibm-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7790-1 linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- WID-SEC-2025-0698 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Jul 13, 2026
- USN-7764-2 linux-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Jun 3, 2026
- SUSE-SU-2025:20270-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20283-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20192-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20206-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:01614-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:01967-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01919-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01951-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01964-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01707-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- ELSA-2025-20530 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Aug 18, 2025
- ELSA-2025-20480 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Jul 17, 2025