CVE-2023-52609

binder: fix race between mmput() and do_exit()

Published Mar 18, 2024 CVSS 3.1 · 4.7 Medium EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-3840-1 linux security update
Debian DLA Debian DLA DLA-3841-1 linux-5.10 security update
Ubuntu USN Ubuntu USN USN-6725-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-6725-2 Linux kernel (AWS) vulnerabilities
Ubuntu USN Ubuntu USN USN-6726-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-6726-2 Linux kernel (IoT) vulnerabilities
Ubuntu USN Ubuntu USN USN-6726-3 Linux kernel (Xilinx ZynqMP) vulnerabilities
Ubuntu USN Ubuntu USN USN-6818-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-6818-2 Linux kernel (ARM laptop) vulnerabilities
Ubuntu USN Ubuntu USN USN-6818-3 Linux kernel (NVIDIA) vulnerabilities
Ubuntu USN Ubuntu USN USN-6818-4 Linux kernel (HWE) vulnerabilities
Ubuntu USN Ubuntu USN USN-6819-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-6819-2 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-6819-3 Linux kernel (OEM) vulnerabilities
Ubuntu USN Ubuntu USN USN-6819-4 Linux kernel (Oracle) vulnerabilities
History
Type Values Removed Values Added
First Time appeared Debian
Debian debian Linux
Linux
Linux linux Kernel
CPEs cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Debian
Debian debian Linux
Linux
Linux linux Kernel
Metrics cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 4.7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H'}

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
May 11, 2026, 7:30 PM
Reserved
Mar 6, 2024, 9:52 AM
Status
Analyzed
Published
Mar 18, 2024, 11:15 AM
Modified
Jun 17, 2026, 6:43 AM
Severity
Low
Public date
Mar 18, 2024, 12:00 AM