CVE-2023-52589
NoneCVSS
—
EPSS
0.2%
Published
Mar 6, 2024
CISA due date
—
Cloudanix analysis
A timing bug in camera hardware handling on some Linux devices can cause the whole system to freeze when stopping video capture.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Race condition in rkisp1_isp_stop and rkisp1_csi_disable allows the interrupt handler to continue executing after interrupt masking and device power-off, leading to register accesses on disabled hardware and potential board lockup.
Why it matters to the business
Systems using Rockchip ISP hardware for camera or media capture can experience sudden crashes or freezes during streaming stop operations, increasing downtime and support costs in affected embedded and Linux deployments.
How an attack unfolds
An attacker with local access triggers concurrent media streaming stop and interrupt handling paths in the rkisp1 driver, causing the handler to access powered-off ISP registers and induce a system lockup; no widespread active exploitation observed despite generic kernel UAF mentions.
How to fix it
Update the Linux kernel to the fixed commit bf808f58681cab64c81cd814551814fd34e540fe or later stable releases containing the patch; rebuild and deploy kernel images for all affected distributions.
How to confirm the fix worked
Confirm kernel source contains the IRQ disable race fix in rkisp1_isp_stop and rkisp1_csi_disable; test media capture stop sequences under load to verify absence of lockups.
Typical attack path
- Obtain local code execution or shell on target Linux system
- Initiate media capture via rkisp1 driver interfaces
- Trigger concurrent stop/disable paths while handler is active
- Exploit timing window to access disabled hardware registers
- Induce board lockup or crash
How to detect it
Review kernel logs for rkisp1-related crashes or lockups during media streaming shutdown; inspect dmesg and syslog for register access errors after ISP disable calls.
What your security team should do
- Prioritize kernel upgrades on all Rockchip-based systems within standard patch windows
- Monitor for downstream dependent packages and rebuild images accordingly
- Add regression tests for concurrent start/stop operations in media drivers
The record
In the Linux kernel, the following vulnerability has been resolved: media: rkisp1: Fix IRQ disable race issue In rkisp1_isp_stop() and rkisp1_csi_disable() the driver masks the interrupts and then apparently assumes that the interrupt handler won't be running, and proceeds in the stop procedure. This is not the case, as the interrupt handler can already be running, which would lead to the ISP being disabled while the interrupt handler handling a captured frame. This brings up two issues: 1) the ISP could be powered off while the interrupt handler is still running and accessing registers, leading to board lockup, and 2) the interrupt handler code and the code that disables the streaming might do things that conflict. It is not clear to me if 2) causes a real issue, but 1) can be seen with a suitable delay (or printk in my case) in the interrupt handler, leading to board lockup.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | No fix |
| Debian:12 | linux | 0 | 6.1.82-1 |
| Debian:13 | linux | 0 | 6.7.7-1 |
| Linux | Kernel | 5.6.0 | 6.1.77 |
| SUSE:Linux Enterprise High Availability Extension 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.62.2 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.62.2 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5-RT_Update_14 | 0 | 1-150500.11.5.1 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_13 | 0 | 1-150500.11.3.2 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-default | 0 | 5.14.21-150500.55.62.2 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-default-base | 0 | 5.14.21-150500.55.62.2.150500.6.27.2 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-rt | 0 | 5.14.21-150500.13.52.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-source-rt | 0 | 5.14.21-150500.13.52.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-64kb | 0 | 5.14.21-150500.55.62.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.62.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-default-base | 0 | 5.14.21-150500.55.62.2.150500.6.27.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-source | 0 | 5.14.21-150500.55.62.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-zfcpdump | 0 | 5.14.21-150500.55.62.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-docs | 0 | 5.14.21-150500.55.62.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-obs-build | 0 | 5.14.21-150500.55.62.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-source | 0 | 5.14.21-150500.55.62.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-syms | 0 | 5.14.21-150500.55.62.1 |
| SUSE:Linux Enterprise Module for Legacy 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.62.2 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | kernel-azure | 0 | 5.14.21-150500.33.51.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | kernel-source-azure | 0 | 5.14.21-150500.33.51.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | kernel-syms-azure | 0 | 5.14.21-150500.33.51.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.62.2 |
| SUSE:Real Time Module 15 SP5 | kernel-rt | 0 | 5.14.21-150500.13.52.1 |
| SUSE:Real Time Module 15 SP5 | kernel-rt_debug | 0 | 5.14.21-150500.13.52.1 |
| SUSE:Real Time Module 15 SP5 | kernel-source-rt | 0 | 5.14.21-150500.13.52.1 |
| SUSE:Real Time Module 15 SP5 | kernel-syms-rt | 0 | 5.14.21-150500.13.52.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 | No fix |
| Ubuntu:20.04:LTS | linux-aws | 0 | No fix |
| 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 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure | 0 | No fix |
| 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 | No fix |
| 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 | No fix |
| Ubuntu:20.04:LTS | linux-bluefield | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp | 0 | No fix |
| 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 | No fix |
| 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 | No fix |
| Ubuntu:20.04:LTS | linux-gkeop-5.15 | 0 | No fix |
| 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 | No fix |
| Ubuntu:20.04:LTS | linux-hwe-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-ibm | 0 | No fix |
| Ubuntu:20.04:LTS | linux-ibm-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-intel-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-intel-iotg-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-iot | 0 | No fix |
| Ubuntu:20.04:LTS | linux-kvm | 0 | No fix |
| Ubuntu:20.04:LTS | linux-lowlatency-hwe-5.15 | 0 | No fix |
| 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 | No fix |
| 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 | No fix |
| Ubuntu:20.04:LTS | linux-oracle-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-raspi | 0 | No fix |
| 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 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-xilinx-zynqmp | 0 | No fix |
| Ubuntu:22.04:LTS | linux | 0 | No fix |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws | 0 | No fix |
| 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 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.8 | 0 | 6.8.0-1009.9~22.04.2 |
| Ubuntu:22.04:LTS | linux-azure | 0 | No fix |
| 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-1022.23~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure-6.8 | 0 | 6.8.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure-fde | 0 | No fix |
| 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-azure-fde-6.8 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp | 0 | No fix |
| 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-1022.24~22.04.1 |
| Ubuntu:22.04:LTS | linux-gcp-6.8 | 0 | 6.8.0-1010.11~22.04.1 |
| Ubuntu:22.04:LTS | linux-gke | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gkeop | 0 | No fix |
| 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-41.41~22.04.2 |
| Ubuntu:22.04:LTS | linux-hwe-6.8 | 0 | 6.8.0-38.38~22.04.1 |
| Ubuntu:22.04:LTS | linux-ibm | 0 | No fix |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-intel-iotg | 0 | No fix |
| Ubuntu:22.04:LTS | linux-kvm | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency | 0 | No fix |
| 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-41.41.1~22.04.1 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.8 | 0 | 6.8.0-38.38.1~22.04.2 |
| Ubuntu:22.04:LTS | linux-nvidia | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | 0 | 6.5.0-1021.22 |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 0 | 6.8.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-tegra-igx | 0 | No fix |
| 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 | 6.1.0-1035.35 |
| Ubuntu:22.04:LTS | linux-oem-6.5 | 0 | 6.5.0-1024.25 |
| Ubuntu:22.04:LTS | linux-oem-6.5 | 0 | 6.5.0-1022.23 |
| Ubuntu:22.04:LTS | linux-oracle | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | 0 | 6.5.0-1024.24~22.04.1 |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | 0 | 6.8.0-1006.6~22.04.3 |
| Ubuntu:22.04:LTS | linux-raspi | 0 | No fix |
| Ubuntu:22.04:LTS | linux-realtime | 0 | No fix |
| 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-40.40.1~22.04.1 |
| Ubuntu:22.04:LTS | linux-riscv-6.8 | 0 | 6.8.0-38.38.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-1015.16~22.04.1 |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 0 | No fix |
| Ubuntu:22.04:LTS:for:NVIDIA:BlueField | linux-bluefield | 0 | No fix |
| Ubuntu:23.10 | linux | 0 | 6.5.0-41.41 |
| Ubuntu:23.10 | linux-aws | 0 | 6.5.0-1021.21 |
| Ubuntu:23.10 | linux-azure | 0 | 6.5.0-1022.23 |
| Ubuntu:23.10 | linux-gcp | 0 | 6.5.0-1022.24 |
| Ubuntu:23.10 | linux-laptop | 0 | 6.5.0-1017.20 |
| Ubuntu:23.10 | linux-lowlatency | 0 | 6.5.0-41.41.1 |
| Ubuntu:23.10 | linux-oracle | 0 | 6.5.0-1024.24 |
| Ubuntu:23.10 | linux-raspi | 0 | 6.5.0-1018.21 |
| Ubuntu:23.10 | linux-starfive | 0 | 6.5.0-1015.16 |
| Ubuntu:24.04:LTS | linux | 0 | 6.8.0-11.11 |
| Ubuntu:24.04:LTS | linux-aws | 0 | 6.8.0-1001.1 |
| Ubuntu:24.04:LTS | linux-azure | 0 | 6.8.0-1001.1 |
| Ubuntu:24.04:LTS | linux-azure-fde | 0 | No fix |
| Ubuntu:24.04:LTS | linux-gcp | 0 | 6.8.0-1002.2 |
| 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.8.0-1001.1 |
| Ubuntu:24.04:LTS | linux-lowlatency | 0 | 6.8.0-7.7.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.11 | 0 | 6.11.0-1007.7 |
| Ubuntu:24.04:LTS | linux-oem-6.8 | 0 | 6.8.0-1003.3 |
| Ubuntu:24.04:LTS | linux-oracle | 0 | 6.8.0-1001.1 |
| Ubuntu:24.04:LTS | linux-raspi | 0 | 6.8.0-1001.1 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-realtime | 0 | 6.8.0-1008.19 |
| Ubuntu:24.04:LTS | linux-riscv | 0 | 6.8.0-20.20.1 |
| Ubuntu:24.10 | linux | 0 | 6.8.0-31.31 |
| Ubuntu:24.10 | linux-aws | 0 | 6.8.0-1008.8 |
| Ubuntu:24.10 | linux-azure | 0 | 6.8.0-1007.7 |
| Ubuntu:24.10 | linux-gcp | 0 | 6.8.0-1007.7 |
| Ubuntu:24.10 | linux-lowlatency | 0 | 6.8.0-31.31.1 |
| Ubuntu:24.10 | linux-oracle | 0 | 6.8.0-1005.5 |
| Ubuntu:24.10 | linux-raspi | 0 | 6.8.0-1004.4 |
| Ubuntu:24.10 | linux-realtime | 0 | 6.11.0-1001.1 |
| Ubuntu:24.10 | linux-riscv | 0 | 6.8.0-31.31.1 |
| Ubuntu:Nvidia-BlueField:22.04:LTS | linux-bluefield | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | linux | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | linux-aws | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | linux-lts-xenial | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | linux | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | linux-aws | 0 | No fix |
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