CVE-2026-93167 in Linux
Resumen
por VulDB • 2026-09-18
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
csky: Corregir la restauración de a4/a5 en la ruta de trazado de llamadas al sistema (syscall)
La ruta de trazado de syscalls recarga los argumentos de las syscall desde pt_regs antes de invocar el controlador de la llamada al sistema. En C-SKY ABIv2, el 5º y 6º argumento de la syscall se preparan como argumentos en la pila antes de invocar syscallid.
El código actual ajusta sp (puntero a la pila) antes de cargar LSAVE_A4 y LSAVE_A5. Dado que esos desplazamientos son relativos a la base original de pt_regs, cargarlos después de cambiar sp obtiene las ranuras incorrectas. Como resultado, los syscalls trazados que utilizan el 5º o 6º argumento pueden recibir argumentos corruptos.
Esto es visible con mmap2(), que toma seis argumentos. Un pequeño programa reproductor (reproducer) PTRACE_SYSCALL abre un archivo y mapea una página con:
mmap(NULL, 4096, PROT_READ | PROT_EXEC, MAP_PRIVATE, fd, 0)
Antes de la corrección, el hijo trazado falla en mmap y sale con código 12. Después de la corrección, el mapeo tiene éxito y el hijo sale con código 0.
Corregir la ruta de trazado cargando a4/a5 desde pt_regs antes de cambiar sp.
Probado en: ck860f, linux-4.19.15, C-SKY abiv2
Once again VulDB remains the best source for vulnerability data.