Cloudanix VulnDB

CVE-2023-52609

None

CVSS

—

EPSS

0.2%

Published

Mar 18, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A timing flaw in the Linux kernel can delay cleanup when one process exits while another is communicating with it, causing slow or stuck notifications in affected systems.

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 between mmput() and do_exit() in binder_update_page_range() allows a pinned remote mm to trigger exit_mmap() and fput() from the wrong task context, queuing ____fput() work as TWA_RESUME on a task that then sleeps indefinitely waiting for a reply from the now-dead peer, blocking binder_deferred_release() and all associated death notifications.

Why it matters to the business

Systems relying on binder IPC experience prolonged delays in process death notification delivery and resource cleanup, which can stall dependent services, increase memory pressure, and complicate container or VM orchestration on affected Linux and Android kernels.

How an attack unfolds

An attacker arranges two binder-connected tasks so that one performs mmget_not_zero() on the other's address space while the target task simultaneously exits; the resulting cross-task fput() work is deferred on a thread that blocks in binder, postponing all death notifications until an unrelated binder transaction wakes it.

How to fix it

Upgrade the Linux kernel to commit 95b1d336b0642198b56836b89908d07b9a0c9608 or later. For AlmaLinux 8 deployments, update the listed packages to the exact fixed module versions: fuse-overlayfs-1.4.0-2.module_el8.6.0+2876+9ed4eae2, criu-3.15-1.module_el8.6.0+2876+9ed4eae2, slirp4netns-1.1.8-1.module_el8.6.0+2876+9ed4eae2, conmon-2:2.0.26-1.module_el8.6.0+2876+9ed4eae2 and equivalent updates for the remaining affected container packages.

How to confirm the fix worked

Confirm the running kernel contains commit 95b1d336b0642198b56836b89908d07b9a0c9608, verify package versions match the fixed module strings above, and exercise binder death-notification paths under concurrent exit to ensure release work completes promptly.

Typical attack path

  1. Establish binder connection between attacker-controlled task A and target task B
  2. Trigger concurrent mmget_not_zero() in A and do_exit()/exit_mm()/mmput() in B
  3. Force Task A to sleep inside binder waiting for a reply from the now-dead B
  4. Observe delayed execution of binder_deferred_release() and death notifications

How to detect it

Search kernel logs and binder debugfs for prolonged stalls between process exit and delivery of death notifications; correlate with tasks blocked inside binder_deferred_release() or waiting on TWA_RESUME work.

What your security team should do

  • Prioritize kernel and container runtime updates on all systems exposing binder or using the listed AlmaLinux 8 modules
  • Monitor upstream stable trees for additional backports of the mmput_async() fix
  • Review container orchestration workloads for heavy binder usage and schedule maintenance windows before the next patch cycle

The record

In the Linux kernel, the following vulnerability has been resolved: binder: fix race between mmput() and do_exit() Task A calls binder_update_page_range() to allocate and insert pages on a remote address space from Task B. For this, Task A pins the remote mm via mmget_not_zero() first. This can race with Task B do_exit() and the final mmput() refcount decrement will come from Task A. Task A | Task B ------------------+------------------ mmget_not_zero() | | do_exit() | exit_mm() | mmput() mmput() | exit_mmap() | remove_vma() | fput() | In this case, the work of ____fput() from Task B is queued up in Task A as TWA_RESUME. So in theory, Task A returns to userspace and the cleanup work gets executed. However, Task A instead sleep, waiting for a reply from Task B that never comes (it's dead). This means the binder_deferred_release() is blocked until an unrelated binder event forces Task A to go back to userspace. All the associated death notifications will also be delayed until then. In order to fix this use mmput_async() that will schedule the work in the corresponding mm->async_put_work WQ instead of Task A.

Affected packages

Ecosystem Package Introduced Fixed
Debian:10 linux 0 4.19.316-1
Debian:10 linux-5.10 0 5.10.209-2~deb10u1
Debian:11 linux 0 5.10.209-1
Debian:12 linux 0 6.1.76-1
Debian:13 linux 0 6.6.15-1
Linux Kernel 2.6.29 4.19.306
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-176.196
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1122.132
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-1057.63~20.04.1
Ubuntu:20.04:LTS linux-aws-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure 0 5.4.0-1127.134
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-1060.69~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-1060.69~20.04.1.1
Ubuntu:20.04:LTS linux-bluefield 0 5.4.0-1082.89
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1126.135
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-1055.63~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-1089.93
Ubuntu:20.04:LTS linux-gkeop-5.15 0 5.15.0-1040.46~20.04.1
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-102.112~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.8 0 No fix
Ubuntu:20.04:LTS linux-ibm 0 5.4.0-1069.74
Ubuntu:20.04:LTS linux-ibm-5.15 0 5.15.0-1050.53~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-1052.58~20.04.1
Ubuntu:20.04:LTS linux-iot 0 5.4.0-1034.35
Ubuntu:20.04:LTS linux-kvm 0 5.4.0-1110.117
Ubuntu:20.04:LTS linux-lowlatency-hwe-5.15 0 5.15.0-102.112~20.04.1
Ubuntu:20.04:LTS linux-nvidia-tegra-5.15 0 5.15.0-1025.25~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-1121.130
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-1055.61~20.04.1
Ubuntu:20.04:LTS linux-oracle-5.8 0 No fix
Ubuntu:20.04:LTS linux-raspi 0 5.4.0-1106.118
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-1053.57~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-1041.45
Ubuntu:22.04:LTS linux 0 5.15.0-102.112
Ubuntu:22.04:LTS linux-allwinner-5.19 0 No fix
Ubuntu:22.04:LTS linux-aws 0 5.15.0-1057.63
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 5.15.0-1060.69
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 5.15.0-1060.69.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-azure-fde-6.8 0 No fix
Ubuntu:22.04:LTS linux-gcp 0 5.15.0-1055.63
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 5.15.0-1054.59
Ubuntu:22.04:LTS linux-gkeop 0 5.15.0-1040.46
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 5.15.0-1050.53
Ubuntu:22.04:LTS linux-intel-iot-realtime 0 No fix
Ubuntu:22.04:LTS linux-intel-iotg 0 5.15.0-1052.58
Ubuntu:22.04:LTS linux-kvm 0 5.15.0-1054.59
Ubuntu:22.04:LTS linux-lowlatency 0 5.15.0-102.112
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 5.15.0-1048.48
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 5.15.0-1025.25
Ubuntu:22.04:LTS linux-nvidia-tegra-igx 0 5.15.0-1012.12
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-1024.25
Ubuntu:22.04:LTS linux-oem-6.5 0 6.5.0-1022.23
Ubuntu:22.04:LTS linux-oracle 0 5.15.0-1055.61
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 5.15.0-1050.53
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 linux-xilinx-zynqmp 0 5.15.0-1030.34
Ubuntu:22.04:LTS:for:NVIDIA:BlueField linux-bluefield 0 5.15.0-1040.42
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 5.15.0-1040.42
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
Ubuntu:Pro:16.04:LTS linux-aws-hwe 0 No fix
Ubuntu:Pro:16.04:LTS linux-azure 0 No fix
Ubuntu:Pro:16.04:LTS linux-gcp 0 No fix
Ubuntu:Pro:16.04:LTS linux-hwe 0 No fix
Ubuntu:Pro:16.04:LTS linux-hwe-edge 0 No fix
Ubuntu:Pro:16.04:LTS linux-kvm 0 No fix
Ubuntu:Pro:16.04:LTS linux-oracle 0 No fix
Ubuntu:Pro:18.04:LTS linux 0 No fix
Ubuntu:Pro:18.04:LTS linux-aws 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-aws-5.4 0 5.4.0-1122.132~18.04.1
Ubuntu:Pro:18.04:LTS linux-azure 0 No fix
Ubuntu:Pro:18.04:LTS linux-azure-4.15 0 No fix
Ubuntu:Pro:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:Pro:18.04:LTS linux-azure-5.4 0 5.4.0-1127.134~18.04.1
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-4.15 0 No fix
Ubuntu:Pro:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:Pro:18.04:LTS linux-gcp-5.4 0 5.4.0-1126.135~18.04.1
Ubuntu:Pro:18.04:LTS linux-gke-4.15 0 No fix

Related vulnerabilities