CVE-2026-64467

CVE-2026-64467

High · published July 25, 2026

CVSS v3.1
8.8
EPSS
0%
Percentile
6.4
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

rust_binder: use a u64 stride when cleaning up the offsets array

Allocation's Drop walks the offsets array (binder_size_t = u64 entries),

cleaning up the objects, but it used usize instead of u64 for both the

stride and the per-entry read.

On 64-bit kernels (usize == u64) this is harmless, but on 32-bit kernels

it walks the 8-byte entries in 4-byte steps, iterating an N-entry array

2N times, and reads the always-zero high word as offset 0, cleaning up

the object at offset 0 N extra times. As a result the referenced node or

handle ends up with a lower reference count than it actually has (a

refcount over-decrement), and binder's reference accounting is corrupted;

for example, the owner can be notified of a strong reference release

(BR_RELEASE) even though references still remain.

Change the stride to u64, and read each entry as a u64, narrowing it to

usize with try_into().

On 32-bit ARM, when this over-decrement would drive a count below zero,

the driver's existing refcount guard refuses it and fires:

rust_binder: Failure: refcount underflow!

The record
Technical detail
CVSS v3.1
8.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00173 · 6.4th percentile
Published
2026-07-25T14:17Z
References (3)
EPSS history
Timeline
  • 25 JUL 08:51Z
    rust_binder: use a u64 stride when cleaning up the offsets array
    cvelistv5