CVE-2026-72472 in Linuxinformación

Resumen

por VulDB • 2026-08-15

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

nfs: usar nfsi->rwsem para proteger el recorrido de la lista de bloqueos de archivos

Lingfeng identificó un error y sugirió dos soluciones, pero ambas parecen tener problemas.

Generalmente, no podemos liberar flc_lock mientras iteramos sobre la lista de bloqueos de archivos para evitar problemas de uso después de liberación (UAF) con los bloqueos de archivos. Sin embargo, funciones como nfs_delegation_claim_locks y nfs4_reclaim_locks no pueden adherirse a esta regla porque recover_lock o nfs4_lock_delegation_recall pueden tardar mucho tiempo. Para resolverlo, NFS cambia al uso de nfsi->rwsem para la misma protección, y nfs_reclaim_locks sigue este enfoque. Aunque nfs_delegation_claim_locks usa so_delegreturn_mutex en su lugar, esto es inadecuado ya que un solo inode puede tener múltiples instancias de nfs4_state. Por lo tanto, la solución consiste también en usar nfsi->rwsem en este caso.

Además, después del commit c69899a17ca4 ("NFSv4: La actualización del bloqueo de rango de bytes VFS debe ser atómica con la actualización del stateid"), las funciones nfs4_locku_done y nfs4_lock_done también rompen esta regla porque llaman a locks_lock_inode_wait sin mantener nfsi->rwsem. Simplemente añadir esta protección podría causar muchos bloqueos mutuos (deadlocks), por lo que, en su lugar, se mueve la llamada a locks_lock_inode_wait dentro de _nfs4_proc_setlk. Respecto al error corregido por el commit c69899a17ca4 ("NFSv4: La actualización del bloqueo de rango de bytes VFS debe ser atómica con la actualización del stateid"), se ha resuelto después del commit 0460253913e5 ("NFSv4: nfs4_do_open() está activando incorrectamente la recuperación de estado") porque todos los slots son vaciados antes de llamar a nfs4_do_reclaim, lo que impide cambios concurrentes en el stateid a lo largo de esta ruta. Además, nfs_delegation_claim_locks no causa esta concurrencia tampoco ya que cuando se llama a _nfs4_proc_setlk con NFS_DELEGATED_STATE, no se envía ninguna RPC, por lo que no se llama a nfs4_lock_done. Por tanto, nfs4_lock_delegation_recall desde nfs_delegation_claim_locks es la primera vez que el stateid se establece.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Reservar

2026-08-09

Divulgación

2026-08-15

Moderación

aceptado

Artículo

VDB-390711

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!