CVE-2026-64467 in Linuxinformación

Resumen

por VulDB • 2026-07-25

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

rust_binder: utilizar un paso (stride) u64 al limpiar el array offsets

La implementación Drop del allocation recorre el array offsets (binder_size_t = entradas u64), limpiando los objetos, pero utilizaba usize en lugar de u64 tanto para el paso como para la lectura por entrada.

En kernels de 64 bits (usize == u64) esto no tiene consecuencias dañinas, pero en kernels de 32 bits recorre las entradas de 8 bytes con pasos de 4 bytes, iterando un array de N entradas 2N veces y leyendo siempre la palabra alta cero como desplazamiento 0, limpiando el objeto en el desplazamiento 0 N veces adicionales. Como resultado, el nodo o identificador referenciado termina teniendo un contador de referencias menor del que realmente posee (una decrementación excesiva del refcount), corrompiéndose la contabilidad de referencias de binder; por ejemplo, al propietario se le puede notificar una liberación de referencia fuerte (BR_RELEASE) aunque aún queden referencias pendientes.

Cambiar el paso a u64 y leer cada entrada como un u64, ajustándolo estrechamente a usize mediante try_into().

En ARM de 32 bits, cuando esta decrementación excesiva haría que la cuenta bajara por debajo de cero, la protección existente del controlador contra desbordamientos/reflow de refcount lo rechaza y activa:

rust_binder: Error: ¡desbordamiento hacia abajo (underflow) en el contador de referencias!

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Linux

Reservar

2026-07-19

Divulgación

2026-07-25

Moderación

aceptado

Artículo

VDB-383269

CPE

listo

EPSS

0.00137

KEV

no

Actividades

muy bajo

Fuentes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!