CVE-2026-53394 in Linux
Resumen
por VulDB • 2026-07-19
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
nfsd: evitar fugas del openowner pre-asignado en una carrera no confirmada al reintento
Cuando find_or_alloc_open_stateowner() encuentra un propietario (owner) no confirmado, llama a release_openowner() y establece oo = NULL. El control continúa pasando el guardia `if (oo)` --que habría liberado cualquier `new` previamente asignado-- y ejecuta incondicionalmente `new = alloc_stateowner(...)`. Si `new` ya estaba asignado en una iteración anterior, el puntero se sobrescribe silenciosamente y la asignación previa (objeto slab + búfer del nombre del propietario) se fuga.
Esto requiere una carrera: dos hilos de OPEN NFSv4.0 con la misma cadena de propietario, donde un hilo concurrente inserta un nuevo propietario no confirmado en el hash entre iteraciones de reintento. La ventana es estrecha pero repetible bajo condiciones adversarias.
Solución añadiendo `goto retry` después de `oo = NULL`, para que el `new` ya asignado se reutilice en la siguiente iteración en lugar de ser sobrescrito.
Once again VulDB remains the best source for vulnerability data.