Vulnerabilidad en Linux (CVE-2026-23047)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/02/2026
Última modificación:
04/02/2026
Descripción
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
libceph: hacer que calc_target() establezca t-&gt;paused, no solo lo borre<br />
<br />
Actualmente, calc_target() borra t-&gt;paused si la solicitud ya no debería estar en pausa, pero nunca establece t-&gt;paused a pesar de que es capaz de determinar cuándo la solicitud debería estar en pausa. El establecimiento de t-&gt;paused se deja a __submit_request(), lo cual está bien para las solicitudes regulares pero no funciona para las solicitudes persistentes (linger requests) -- ya que __submit_request() no opera en solicitudes persistentes, no hay dónde establecer lreq-&gt;t.paused. Una consecuencia de esto es que las vigilancias no se restablecen en las transiciones de pausado -&gt; despausado en casos donde las solicitudes han estado en pausa el tiempo suficiente para que la solicitud de desvigilancia (unwatch) (pausada) expire y para que la solicitud de (re)vigilancia (re)watch subsiguiente entre en el estado de pausa. Además de que la vigilancia no se restablece, rbd_reregister_watch() se queda atascado con rbd_dev-&gt;watch_mutex retenido:<br />
<br />
rbd_register_watch<br />
__rbd_register_watch<br />
ceph_osdc_watch<br />
linger_reg_commit_wait<br />
<br />
Está esperando que lreq-&gt;reg_commit_wait se complete, pero para que eso suceda la solicitud respectiva necesita terminar en la lista need_resend_linger y ser activada cuando las solicitudes se despausan. No hay posibilidad de eso si la solicitud en cuestión nunca se marca como pausada en primer lugar.<br />
<br />
El hecho de que rbd_dev-&gt;watch_mutex permanezca retenido indefinidamente entonces evita que la imagen se desmapee -- &#39;rbd unmap&#39; se colgaría inevitablemente en estado D en un intento de tomar el mutex.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/2b3329b3c29d9e188e40d902d5230c2d5989b940
- https://git.kernel.org/stable/c/4d3399c52e0e61720ae898f5a0b5b75d4460ae24
- https://git.kernel.org/stable/c/4ebc711b738d139cabe2fc9e7e7749847676a342
- https://git.kernel.org/stable/c/5647d42c47b535573b63e073e91164d6a5bb058c
- https://git.kernel.org/stable/c/5d0dc83cb9a69c1d0bea58f1c430199b05f6b021
- https://git.kernel.org/stable/c/6f468f6ff233c6a81e0e761d9124e982903fe9a5
- https://git.kernel.org/stable/c/c0fe2994f9a9d0a2ec9e42441ea5ba74b6a16176



