VUSec describe Branch Target Reuse (BTR), un ataque Spectre v2 que aprovechó en Linux cBPF para recuperar el hash de una contraseña de root. El grupo también informa de que los desarrolladores del kernel incorporaron una mitigación x86 para hacer frente a la reutilización de regiones de código.
Branch Target Reuse y la demostración del hash en Linux
BTR explota predicciones de saltos indirectos que pueden persistir después de que se libere código generado por un compilador JIT y otro bloque reutilice su dirección. La CPU puede entonces especular hacia una posición obsoleta dentro del código nuevo.
VUSec describe dos exploits completos de extremo a extremo contra el compilador JIT de cBPF en Linux: uno con la configuración predeterminada y otro que funcionó con la ofuscación de constantes activada. La demostración recuperó un hash de contraseña de root de la memoria de un proceso su.
Un hash no es la contraseña en texto plano. Para obtenerla, un atacante tendría que intentar romper el hash; las posibilidades dependen del algoritmo utilizado y de la fortaleza de la contraseña. VUSec cifra la filtración en ocho bytes por segundo y explica que el seguimiento de punteros reduce la cantidad de datos que hay que extraer para llegar al secreto.
Cómo se reutiliza una predicción antigua
Los procesadores predicen el destino de los saltos indirectos para ejecutar instrucciones por adelantado. BTR aprovecha que esa predicción puede quedar desfasada respecto al código que ocupa ahora una dirección de memoria: se libera una región JIT y, más tarde, se reutiliza para generar código distinto.
En la demostración de Linux, los programas cBPF se instalan como filtros seccomp. VUSec comunica que la técnica funcionó con programas clásicos BPF disponibles para procesos sin privilegios; distingue ese caso de eBPF, cuyo JIT, según el grupo, está restringido a usuarios privilegiados.
Resultados en Linux, SpiderMonkey y GraalVM
Los resultados de los motores estudiados no fueron iguales. En Linux cBPF, VUSec describe los dos exploits completos; en Firefox SpiderMonkey, el equipo obtuvo una prueba de concepto que mostró predicciones obsoletas tras reutilizar código, pero no un exploit completo del navegador.
En Oracle GraalVM, los investigadores exploraron un posible salto especulativo de una máscara de sandbox. En esos experimentos no completaron un ataque: la compilación interna y la recolección de basura borraron las entradas de predicción antes de que pudieran hacerlo. Oracle mitiga la reutilización de regiones aleatorizando las ubicaciones de la caché de código JIT.
Los promedios comunicados por los investigadores para la recuperación de extremo a extremo fueron de tres minutos en Raptor Cove y cinco minutos en Lion Cove.
La mitigación de Linux que describe VUSec
VUSec afirma que los desarrolladores del kernel incorporaron una mitigación x86 que emite una barrera IBPB —que limpia el predictor de saltos indirectos— en todos los núcleos cuando un programa cBPF reutiliza una región ejecutada previamente de cBPF o eBPF. La medida también desincentiva esa reutilización.
El grupo relaciona los identificadores CVE-2026-64507 y CVE-2026-64508 con los problemas de Linux. VUSec recomienda instalar las actualizaciones del sistema operativo y del software cuando los proveedores publiquen los parches.
Alcance de las pruebas y publicación prevista
VUSec afirma que observó el comportamiento en todas las CPU que probó de Intel, AMD y Arm. La demostración de recuperación del hash en Linux se describe por separado y se realizó en procesadores Intel Raptor Cove y Lion Cove.
El artículo de investigación sobre BTR fue aceptado para ACM CCS 2026 y tenía prevista su publicación en noviembre de 2026.