CVE-2021-46965
NoneCVSS
—
EPSS
0.2%
Published
Feb 27, 2024
CISA due date
—
Cloudanix analysis
A coding mistake in a Linux storage driver could let a local program read or write memory it should not reach, risking crashes on certain embedded devices.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- OS kernel
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Incorrect pointer arithmetic on a u32 variable instead of byte-granular char* causes out-of-bounds stack access in the physmap-bt1-rom MTD driver.
Why it matters to the business
Embedded Linux devices using the affected BT1 ROM mapping code face risk of kernel instability or memory corruption, potentially requiring unplanned reboots or device replacement in field deployments.
How an attack unfolds
An attacker supplies input that reaches the physmap-bt1-rom initialization path; the uncast pointer increment skips intended byte offsets and reads or writes outside the intended stack frame, enabling local memory corruption.
How to fix it
Apply the upstream kernel commit that casts &data to (char *) before pointer arithmetic; rebuild and deploy the corrected kernel image on all affected embedded platforms.
How to confirm the fix worked
Confirm the source contains the (char *) cast around &data, recompile, and run static analysis (Coverity or equivalent) to verify absence of the out-of-bounds warning; test MTD initialization on target hardware.
Typical attack path
- Obtain local or adjacent access to a system loading the physmap-bt1-rom driver
- Trigger MTD device registration with the vulnerable mapping routine
- Supply data that exercises the &data increment loop
- Cause out-of-bounds read/write on the stack
How to detect it
Review kernel logs and crash dumps for stack trace entries mentioning physmap-bt1-rom or Coverity ID 1497765; examine MTD initialization paths in custom kernels for the missing cast.
What your security team should do
- Identify all kernels built before the referenced fix and schedule replacement
- Prioritize updates for any internet-exposed or multi-tenant embedded systems
- Add the driver to static-analysis pipelines to catch similar pointer-type errors
The record
In the Linux kernel, the following vulnerability has been resolved: mtd: physmap: physmap-bt1-rom: Fix unintentional stack access Cast &data to (char *) in order to avoid unintentionally accessing the stack. Notice that data is of type u32, so any increment to &data will be in the order of 4-byte chunks, and this piece of code is actually intended to be a byte offset. Addresses-Coverity-ID: 1497765 ("Out-of-bounds access")
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | 5.10.38-1 |
| Debian:12 | linux | 0 | 5.10.38-1 |
| Debian:13 | linux | 0 | 5.10.38-1 |
| Ubuntu:16.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gke-4.15 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gke-5.4 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gkeop-5.4 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.3 | 0 | No fix |
| Ubuntu:20.04:LTS | linux | 0 | 5.4.0-9.12 |
| Ubuntu:20.04:LTS | linux-aws | 0 | 5.4.0-1005.5 |
| Ubuntu:20.04:LTS | linux-aws-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.15 | 0 | 5.15.0-1014.18~20.04.1 |
| Ubuntu:20.04:LTS | linux-aws-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure | 0 | 5.4.0-1006.6 |
| Ubuntu:20.04:LTS | linux-azure-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.15 | 0 | 5.15.0-1007.8~20.04.1 |
| Ubuntu:20.04:LTS | linux-azure-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-fde | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-fde-5.15 | 0 | 5.15.0-1019.24~20.04.1.1 |
| Ubuntu:20.04:LTS | linux-bluefield | 0 | 5.4.0-1007.10 |
| Ubuntu:20.04:LTS | linux-gcp | 0 | 5.4.0-1005.5 |
| Ubuntu:20.04:LTS | linux-gcp-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp-5.15 | 0 | 5.15.0-1006.9~20.04.1 |
| Ubuntu:20.04:LTS | linux-gcp-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gke | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gke-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gkeop | 0 | 5.4.0-1008.9 |
| Ubuntu:20.04:LTS | linux-gkeop-5.15 | 0 | 5.15.0-1003.5~20.04.2 |
| Ubuntu:20.04:LTS | linux-hwe-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-hwe-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-hwe-5.15 | 0 | 5.15.0-33.34~20.04.1 |
| Ubuntu:20.04:LTS | linux-hwe-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-ibm | 0 | 5.4.0-1003.4 |
| Ubuntu:20.04:LTS | linux-ibm-5.15 | 0 | 5.15.0-1033.36~20.04.1 |
| Ubuntu:20.04:LTS | linux-intel-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-intel-iotg-5.15 | 0 | 5.15.0-1003.5~20.04.1 |
| Ubuntu:20.04:LTS | linux-iot | 0 | 5.4.0-1001.3 |
| Ubuntu:20.04:LTS | linux-kvm | 0 | 5.4.0-1004.4 |
| Ubuntu:20.04:LTS | linux-lowlatency-hwe-5.15 | 0 | 5.15.0-33.34~20.04.1 |
| Ubuntu:20.04:LTS | linux-oem-5.10 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.14 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.6 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle | 0 | 5.4.0-1005.5 |
| Ubuntu:20.04:LTS | linux-oracle-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle-5.15 | 0 | 5.15.0-1007.9~20.04.1 |
| Ubuntu:20.04:LTS | linux-oracle-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-raspi | 0 | 5.4.0-1007.7 |
| Ubuntu:20.04:LTS | linux-raspi2 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.15 | 0 | 5.15.0-1015.17~20.04.1 |
| Ubuntu:20.04:LTS | linux-riscv-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-xilinx-zynqmp | 0 | 5.4.0-1020.24 |
| Ubuntu:22.04:LTS | linux | 0 | 5.13.0-19.19 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws | 0 | 5.13.0-1005.6 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.5 | 0 | 6.5.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure | 0 | 5.13.0-1006.7 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-6.5 | 0 | 6.5.0-1007.7~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure-fde | 0 | 5.15.0-1019.24.1 |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp | 0 | 5.13.0-1005.6 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | 0 | 6.5.0-1010.10~22.04.3 |
| Ubuntu:22.04:LTS | linux-gke | 0 | 5.15.0-1002.2 |
| Ubuntu:22.04:LTS | linux-gkeop | 0 | 5.15.0-1001.2 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | 0 | 6.5.0-14.14~22.04.1 |
| Ubuntu:22.04:LTS | linux-ibm | 0 | 5.15.0-1002.2 |
| Ubuntu:22.04:LTS | linux-intel-iotg | 0 | 5.15.0-1004.6 |
| Ubuntu:22.04:LTS | linux-kvm | 0 | 5.13.0-1004.4 |
| Ubuntu:22.04:LTS | linux-lowlatency | 0 | 5.15.0-22.22 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.5 | 0 | 6.5.0-14.14.1~22.04.1 |
| Ubuntu:22.04:LTS | linux-nvidia | 0 | 5.15.0-1005.5 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | 0 | 6.5.0-1004.4 |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 0 | 6.8.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.0 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.1 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.5 | 0 | 6.5.0-1003.3 |
| Ubuntu:22.04:LTS | linux-oracle | 0 | 5.13.0-1008.10 |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | 0 | 6.5.0-1013.13~22.04.4 |
| Ubuntu:22.04:LTS | linux-raspi | 0 | 5.13.0-1008.9 |
| Ubuntu:22.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | 0 | 6.5.0-17.17.1.1~22.04.1 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | 0 | 6.5.0-1007.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 0 | 5.15.0-1022.26 |
| Ubuntu:24.04:LTS | linux | 0 | 6.5.0-9.9 |
| Ubuntu:24.04:LTS | linux-aws | 0 | 6.5.0-1008.8 |
| Ubuntu:24.04:LTS | linux-azure | 0 | 6.5.0-1007.7 |
| Ubuntu:24.04:LTS | linux-gcp | 0 | 6.5.0-1007.7 |
| Ubuntu:24.04:LTS | linux-gke | 0 | 6.8.0-1003.5 |
| Ubuntu:24.04:LTS | linux-gkeop | 0 | 6.8.0-1001.3 |
| Ubuntu:24.04:LTS | linux-ibm | 0 | 6.5.0-1009.9 |
| Ubuntu:24.04:LTS | linux-lowlatency | 0 | 6.5.0-9.9.1 |
| Ubuntu:24.04:LTS | linux-nvidia | 0 | 6.8.0-1007.7 |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | 0 | 6.8.0-1009.9.1 |
| Ubuntu:24.04:LTS | linux-oem-6.8 | 0 | 6.8.0-1003.3 |
| Ubuntu:24.04:LTS | linux-oracle | 0 | 6.5.0-1010.10 |
| Ubuntu:24.04:LTS | linux-raspi | 0 | 6.5.0-1005.7 |
| Ubuntu:24.04:LTS | linux-riscv | 0 | 6.5.0-9.9.1 |
| Ubuntu:Pro:16.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-aws-5.0 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-aws-5.3 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-azure-5.3 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-azure-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gcp-5.3 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gke-4.15 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gke-5.4 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gkeop-5.4 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-hwe | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-oracle-5.3 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-aws-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-aws-5.13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-aws-5.8 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-5.13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-5.8 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-fde | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-gcp-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-gcp-5.13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-gcp-5.8 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-gke | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-gke-5.15 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-hwe-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-hwe-5.13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-hwe-5.8 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-intel-5.13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oem-5.10 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oem-5.13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oem-5.14 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oem-5.6 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oracle-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oracle-5.13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oracle-5.8 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-raspi2 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-riscv-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-riscv-5.8 | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:18.04:LTS | linux-aws-fips | 0 | 4.15.0-2000.4 |
| Ubuntu:Pro:FIPS-updates:18.04:LTS | linux-azure-fips | 0 | 4.15.0-1002.2 |
| Ubuntu:Pro:FIPS-updates:18.04:LTS | linux-fips | 0 | 4.15.0-1027.32 |
| Ubuntu:Pro:FIPS-updates:18.04:LTS | linux-gcp-fips | 0 | 4.15.0-2013.14 |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | linux-aws-fips | 0 | 5.4.0-1021.21+fips2 |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | linux-azure-fips | 0 | 5.4.0-1022.22+fips1 |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | linux-fips | 0 | 5.4.0-1026.30 |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | linux-gcp-fips | 0 | 5.4.0-1021.21+fips1 |
| Ubuntu:Pro:FIPS:16.04:LTS | linux-fips | 0 | 4.4.0-1003.3 |
| Ubuntu:Pro:FIPS:18.04:LTS | linux-aws-fips | 0 | 4.15.0-2000.4 |
| Ubuntu:Pro:FIPS:18.04:LTS | linux-azure-fips | 0 | 4.15.0-1002.2 |
| Ubuntu:Pro:FIPS:18.04:LTS | linux-fips | 0 | 4.15.0-1011.12 |
| Ubuntu:Pro:FIPS:18.04:LTS | linux-gcp-fips | 0 | 4.15.0-1001.1 |
| Ubuntu:Pro:FIPS:20.04:LTS | linux-aws-fips | 0 | 5.4.0-1021.21+fips2 |
| Ubuntu:Pro:FIPS:20.04:LTS | linux-azure-fips | 0 | 5.4.0-1022.22+fips1 |
| Ubuntu:Pro:FIPS:20.04:LTS | linux-fips | 0 | 5.4.0-1007.8 |
| Ubuntu:Pro:FIPS:20.04:LTS | linux-gcp-fips | 0 | 5.4.0-1021.21+fips1 |
Related vulnerabilities
- CVE-2025-38562 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects linux
- CVE-2025-22037 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-21760 In the Linux kernel, the following vulnerability has been resolved: ndisc: extend RCU… Also affects linux
- CVE-2025-21758 In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: add RCU… Also affects linux
- CVE-2025-21664 In the Linux kernel, the following vulnerability has been resolved: dm thin: make… Also affects linux
- CVE-2024-57946 In the Linux kernel, the following vulnerability has been resolved: virtio-blk: don't… Also affects linux
- CVE-2024-57945 In the Linux kernel, the following vulnerability has been resolved: riscv: mm: Fix the… Also affects linux