Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-64466

CVE-2026-64466: Linux Kernel Use-After-Free Vulnerability

CVE-2026-64466 is a use-after-free flaw in the Linux kernel's rust_binder component that can lead to memory leaks. This article covers the technical details, affected versions, security impact, and mitigation steps.

Published:

CVE-2026-64466 Overview

CVE-2026-64466 affects the Linux kernel's rust_binder implementation. The vulnerability stems from the driver failing to clear freeze listeners when a node is removed. Userspace is expected to clear freeze listeners before dropping the node reference count to zero, but nothing enforces this behavior. When userspace omits this step, the freeze listener persists in the freeze_listeners rbtree and in the remote node's freeze listener list. This creates a refcount cycle that can result in a memory leak within the kernel's binder subsystem.

Critical Impact

Improper handling of freeze listener cleanup in rust_binder produces a refcount cycle that leaks kernel memory over time, degrading system stability on long-running hosts.

Affected Products

  • Linux kernel versions containing the rust_binder driver prior to the patched commits
  • Distributions shipping mainline kernels with Rust binder support enabled
  • Stable kernel branches referenced in the upstream fix commits

Discovery Timeline

  • 2026-07-25 - CVE-2026-64466 published to NVD
  • 2026-07-25 - Last updated in NVD database

Technical Details for CVE-2026-64466

Vulnerability Analysis

The defect resides in the Rust implementation of the Android binder driver (rust_binder) within the Linux kernel. Binder supports a freeze notification mechanism that lets processes register listeners for freeze state changes on remote nodes. Each listener is tracked in the freeze_listeners rbtree and linked into the target node's freeze listener list.

The expected lifecycle requires userspace to explicitly clear a freeze listener before dropping the last reference on the associated node ref. The driver did not enforce this ordering. When userspace released the final reference without clearing the listener, the node ref was destroyed while the listener remained registered. The stale listener then held indirect references that could not be reclaimed, producing a memory leak on repeated invocation.

Root Cause

The root cause is missing cleanup logic in the node removal path of rust_binder. The driver assumed cooperative userspace behavior instead of defensively removing associated freeze listeners when a node ref refcount reached zero. This is a resource management defect closely related to memory leak weaknesses.

Attack Vector

A local process interacting with the binder driver can trigger the condition by registering freeze listeners and releasing node refs without first clearing those listeners. Repeated cycles accumulate leaked kernel memory. The vulnerability does not require elevated privileges beyond access to the binder device node, and it is exploitable only from local userspace with binder access.

No verified proof-of-concept code is published in the referenced advisories. Technical details are available in the upstream kernel commits: 0644da3621dd, 91b27f8172cd, and bc4a98288978.

Detection Methods for CVE-2026-64466

Indicators of Compromise

  • Gradual increase in kernel slab memory attributable to binder-related allocations without a corresponding workload change
  • Processes repeatedly opening /dev/binder and registering freeze notifications without clearing them
  • Kernel memory pressure or out-of-memory events on hosts running Rust binder-enabled kernels

Detection Strategies

  • Monitor /proc/slabinfo and /proc/meminfo for unexplained growth in kernel object counts on binder-heavy systems
  • Audit kernel version and build configuration to determine whether CONFIG_RUST_BINDER is enabled and unpatched
  • Correlate binder ioctl activity with sustained increases in kernel memory to identify triggering workloads

Monitoring Recommendations

  • Track kernel memory metrics with time-series telemetry to catch slow leaks that would otherwise go unnoticed
  • Alert on processes issuing high volumes of binder freeze notification ioctls
  • Include kernel version inventory in configuration management to flag hosts running affected rust_binder builds

How to Mitigate CVE-2026-64466

Immediate Actions Required

  • Apply the upstream stable kernel updates referenced in the fix commits as soon as vendor packages become available
  • Inventory hosts running kernels with the Rust binder driver enabled and prioritize them for patching
  • Restrict access to /dev/binder to trusted processes where operationally feasible

Patch Information

The fix modifies rust_binder to clear the freeze listener when a node is removed, breaking the refcount cycle. The change is applied in stable kernel commits 0644da3621dd, 91b27f8172cd, and bc4a98288978. Consult your Linux distribution's security tracker for backported package versions.

Workarounds

  • Disable the Rust binder driver at build time by unsetting CONFIG_RUST_BINDER if the C binder implementation is acceptable
  • Reboot affected hosts periodically to reclaim leaked memory until a patched kernel is deployed
  • Constrain untrusted workloads from accessing binder device nodes through mandatory access control policies such as SELinux or AppArmor

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.