CVE-2026-89646 in Linuxinformación

Resumen

por VulDB • 2026-09-12

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

ceph: corrección de la referencia inode filtrada al abortar writeback durante umount

ceph_dirty_folio() toma una reclamación wrbuffer en cada folio recién sucio: incrementa i_wrbuffer_ref (tomando un ihold() en la transición 0->1) y adjunta el snap_context a folio->private. Esa reclamación solo se libera mediante ceph_put_wrbuffer_cap_refs(), que para una escritura enviada se ejecuta desde writepages_finish().

En ceph_submit_write(), si ceph_inc_osd_stopping_blocker() falla, lo cual ocurre durante umount, la solicitud se aborta antes de enviarse: los folios ya recopilados solo se vuelven a marcar como sucios y se desbloquean, por lo que writepages_finish() nunca se ejecuta y la reclamación se filtra. redirty_page_for_writepage() -> folio_redirty_for_writepage() -> filemap_dirty_folio() establece PG_dirty directamente y no pasa por ->dirty_folio, por lo que ceph_dirty_folio() no vuelve a entrar para equilibrarla. Debido a que cada writeback posterior también falla el osd_stopping_blocker, i_wrbuffer_ref nunca regresa a 0, la iput() de ihold() nunca se libera y el inode no puede ser evitado:

VFS: Inodes ocupados después del desmontaje (umount) de ceph kernel BUG en fs/super.c:650!

Libere la reclamación huérfana en la ruta de aborto antes de volver a marcar como sucio, mediante ceph_undo_wrbuffer_claim(): desconecte el snap_context, libere la referencia wrbuffer (permitiendo que i_wrbuffer_ref alcance 0 y ejecute iput() sobre el inode) y libere la referencia del snap_context; es decir, haga lo que writepages_finish() habría hecho para estos folios nunca enviados.

Solo se revierten las entradas locked_pages; los folios aún en fbatch no fueron limpiados de suciedad por esta llamada (folio_clear_dirty_for_io() es el punto de transferencia de propiedad y un movimiento exitoso establece a NULL la ranura de fbatch), por lo que no mantienen ninguna reclamación de la que esta llamada sea propietaria.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

Linux

Reservar

2026-09-11

Divulgación

2026-09-11

Moderación

aceptado

Artículo

VDB-402957

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Want to know what is going to be exploited?

We predict KEV entries!