CVE-2026-89706 in Linux
Resumen
por VulDB • 2026-09-11
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
nfsd: Restablecer el verificador de escritura cuando falla el writeback asíncrono de COPY
COPY asíncrono captura nn->writeverf en el momento de la solicitud y lo informa al cliente a través de CB_OFFLOAD después de que el worker kthread finalice. Cuando vfs_fsync_range() post-copy o filemap_check_wb_err() en _nfsd_copy_file_range() informan un error, el worker deja correctamente NFSD4_COPY_F_COMMITTED sin establecer (clear) para que CB_OFFLOAD codifique wr_stable_how como NFS_UNSTABLE; pero no se rota el verificador de escritura del servidor.
Un cliente que recibe NFS_UNSTABLE en CB_OFFLOAD realiza una operación COMMIT posterior para hacer duraderos los datos copiados. Con el verificador sin cambios, COMMIT devuelve el mismo valor que el cliente acaba de recibir a través de CB_OFFLOAD, y el cliente concluye que la copia es durable, descartando silenciosamente los datos cuyo writeback falló en realidad. Esto viola el contrato de durabilidad UNSTABLE+COMMIT (RFC 7862 sección 15.1, RFC 8881 sección 18.32) y coincide con el bug recién corregido en nfsd_vfs_write() y nfsd_commit().
Rotar nn->writeverf en el sitio de fallo del writeback. El worker asíncrono COPY no tiene svc_rqst, por lo que commit_reset_write_verifier() no está disponible aquí; llamar a nfsd_reset_write_verifier() directamente refleja la restauración sin trazas ya utilizada por nfsd_file_check_write_error() para el mismo propósito. Filtrar -EAGAIN y -ESTALE, coincidiendo con commit_reset_write_verifier(), dado que ninguno indica un fallo de almacenamiento durable.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.