CVE-2024-56555·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: binder: fix OOB in binder_add_freeze_work() In binder_add_freeze_work() we iterate over the proc->nodes with the proc->inner_lock held. However, this lock is temporarily dropped to acquire the node->lock first (lock nesting order). This can race with binder_deferred_release() which removes the nodes from the proc->nodes rbtree and adds them into binder_dead_nodes list. This leads to a broken iteration in binder_add_freeze_work() as rb_next() will use data from binder_dead_nodes, triggering an out-of-bounds access: ================================================================== BUG: KASAN: global-out-of-bounds in rb_next+0xfc/0x124 Read of size 8 at addr ffffcb84285f7170 by task freeze/660 CPU: 8 UID: 0 PID: 660 Comm: freeze Not tainted 6.11.0-07343-ga727812a8d45 #18 Hardware name: linux,dummy-virt (DT) Call trace: rb_next+0xfc/0x124 binder_add_freeze_work+0x344/0x534 binder_ioctl+0x1e70/0x25ac __arm64_sys_ioctl+0x124/0x190 The buggy address belongs to the variable: binder_dead_nodes+0x10/0x40 [...] ================================================================== This is possible because proc->nodes (rbtree) and binder_dead_nodes (list) share entries in binder_node through a union: struct binder_node { [...] union { struct rb_node rb_node; struct hlist_node dead_node; }; Fix the race by checking that the proc is still alive. If not, simply break out of the iteration.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.12.4
- Published
- 2024-12-27
Affected versions
From: 6.12
Until: 6.12.4
Fixed in: 6.12.4
How to fix this CVE
Update your Linux kernel to version 6.12.4 or later to resolve this race condition in the binder subsystem. The vulnerability allows out-of-bounds memory access when concurrent operations manipulate node lists, potentially leading to kernel crash or information disclosure. Apply the kernel update immediately using your distribution's package manager and reboot the system to complete remediation.
sudo dnf update kernel kernel-devel && sudo rebootDefensia detects this vulnerability
How to check if you are affected
- Check current kernel version: uname -r | grep -E '^6\.12\.[0-3]($|-)' to identify if running vulnerable versions 6.12.0 through 6.12.3
- Verify binder subsystem is in use: grep -i binder /proc/filesystems && ls -la /dev/binder* 2>/dev/null to confirm binder IPC is active
- Search system logs for crash signatures: dmesg | grep -i 'KASAN.*rb_next\|out-of-bounds\|binder_add_freeze_work' to detect exploitation attempts or kernel panics
- Confirm kernel update applied: uname -r should show version 6.12.4 or later, then verify with grep CONFIG_ANDROID_BINDER_IPC /boot/config-$(uname -r)
FAQ
What is CVE-2024-56555?
This vulnerability is a race condition in the Linux kernel's binder IPC subsystem where concurrent operations can cause an out-of-bounds memory access. When the binder_deferred_release() function removes nodes from a tree while binder_add_freeze_work() is iterating over them, the iterator accesses freed memory structures, triggering a KASAN out-of-bounds error.
Is CVE-2024-56555 being actively exploited?
No, this vulnerability is not currently listed as actively exploited according to CISA's Known Exploited Vulnerabilities (KEV) catalog, and no public exploit code is available.
What versions of Kernel are affected by CVE-2024-56555?
Linux kernel versions 6.12.0 through 6.12.3 are vulnerable. The fix was included in kernel version 6.12.4 and later.
How do I check if my server is vulnerable to CVE-2024-56555?
Run 'uname -r' to check your kernel version. If it shows 6.12.0, 6.12.1, 6.12.2, or 6.12.3, your system is vulnerable. Additionally, verify binder is enabled with 'grep CONFIG_ANDROID_BINDER_IPC /boot/config-$(uname -r)'.
Does Defensia detect CVE-2024-56555?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server running versions 6.12.0-6.12.3, CVE-2024-56555 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-56555. Free for 1 server.
Get started free