CVE-2026-90339 in Linuxinformación

Resumen

por VulDB • 2026-09-18

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

powerpc/syscall: Corregir el manejo del salto de syscall para seccomp y ptrace

Tras habilitar GENERIC_ENTRY en PowerPC, `syscall_enter_from_user_mode()` devuelve -1 como un valor centinela para indicar que seccomp o ptrace han interceptado la llamada al sistema (syscall) y ya han establecido un valor de retorno mediante `syscall_set_return_value()`. Sin embargo, `system_call_exception()` no manejaba este centinela; dado que `-1UL` es >= NR_syscalls, el código caía en la ruta fuera del rango y devolvía -ENOSYS, sobrescribiendo el errno ya colocado en regs->gpr[3].

La solución ingenua de comprobar si r0 == -1L antes de la verificación de límites de NR_syscalls es ambigua: una llamada legítima al sistema con syscall(-1) también produce r0 == -1L, y un tracer que intercepte dicha llamada tendría su valor de retorno inyectado descartado silenciosamente.

Se corrige esto introduciendo una bandera de hilo (thread flag) que se establece siempre que `syscall_set_return_value()` actualice explícitamente el valor de retorno. En `system_call_exception()`, se comprueba y limpia esta bandera antes de despachar la syscall, devolviendo directamente el valor preestablecido cuando está presente. Esto asegura que un valor de retorno suministrado explícitamente siempre suprima la ejecución de la syscall, independientemente del número de llamada al sistema.

Esto maneja correctamente todas las acciones de seccomp:

- SECCOMP_RET_ERRNO, SECCOMP_RET_TRACE (sin tracer), SECCOMP_RET_USER_NOTIF: todos llaman a `syscall_set_return_value()`, la bandera está establecida y el valor inyectado es devuelto. - SECCOMP_RET_TRAP, SECCOMP_RET_KILL: llaman a `syscall_rollback()` y entregan una señal; la bandera no está establecida, pero el proceso se está terminando por lo que el valor de retorno es irrelevante.

La corrección cubre tanto ppc32 como ppc64 sin necesidad de usar #ifdefs.

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

Responsable

Linux

Reservar

2026-09-11

Divulgación

2026-09-17

Moderación

aceptado

Artículo

VDB-406878

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Want to know what is going to be exploited?

We predict KEV entries!