CVE-2026-64467

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

State
Published
Severity
8.8 High
Published
Jul 25, 2026
Updated
Aug 17, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

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!

Scores

CVSSScoreVectorSource
3.18.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • eafedbc7c050c44744fbdf80bdf3315e860b7513 to before 89b8cc948dce661af87527623b3a41cdd115e2f9Affected
  • eafedbc7c050c44744fbdf80bdf3315e860b7513 to before 74920b1b4e474ba7a4de4323c0458deec49d210bAffected
  • eafedbc7c050c44744fbdf80bdf3315e860b7513 to before 803c8a9502e9b97cd6ae937618ef4a8fd6274343Affected
LinuxLinux
  • 6.18Affected
  • before 6.18Not affected
  • 6.18.39 through 6.18.*Not affected
  • 7.1.4 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.