CVE-2025-68341 in Linux
Resumen
por VulDB • 2026-05-20
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
veth: reducir la sección de retorno no_direct de XDP para corregir una condición de carrera
Como se explica en el commit fa349e396e48 ("veth: Corregir la condición de carrera con AF_XDP que expone descriptores antiguos o no inicializados"), en veth existe la posibilidad de que, tras llamar a `napi_complete_done()`, otra CPU pueda iniciar otra instancia de NAPI ejecutando `veth_pool()`. Para NAPI, esto se maneja correctamente ya que la comprobación `napi_schedule_prep()` evita que se programen múltiples instancias, pero para el código restante en `veth_pool()` esto puede ejecutarse de forma concurrente con la nueva instancia de NAPI iniciada.
El problema/condición de carrera radica en que `xdp_clear_return_frame_no_direct()` no está diseñado para ser anidado.
Antes del commit 401cb7dae813 ("net: Referenciar bpf_redirect_info a través de task_struct en PREEMPT_RT."), el contexto de red temporal de BPF `bpf_redirect_info` se almacenaba por CPU, donde esto no constituía un problema. Desde este commit, el contexto de BPF se almacena en la estructura `task_struct` de 'current'. Al ejecutar veth en modo threaded-NAPI, el kthread se convierte en el área de almacenamiento. Ahora existe una condición de carrera entre dos llamadas concurrentes a la función `veth_pool()`: una que sale de NAPI y otra que ejecuta una nueva instancia de NAPI, ambas utilizando el mismo contexto de red de BPF.
La condición de carrera se produce cuando otra CPU entra en la sección `xdp_set_return_frame_no_direct()` antes de que las llamadas de salida de `veth_pool()` invoquen la función de limpieza `xdp_clear_return_frame_no_direct()`.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.