Vulnerabilidad en Linux (CVE-2026-23281)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
25/03/2026
Última modificación:
25/03/2026
Descripción
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
wifi: libertas: corregir uso después de liberación en lbs_free_adapter()<br />
<br />
La función lbs_free_adapter() usa timer_delete() (no síncrono) para command_timer y tx_lockup_timer antes de que la estructura sea liberada. Esto es incorrecto porque timer_delete() no espera a que ninguna devolución de llamada de temporizador en ejecución se complete.<br />
<br />
Si una devolución de llamada de temporizador se está ejecutando cuando se llama a lbs_free_adapter(), la devolución de llamada accederá a memoria liberada ya que lbs_cfg_free() libera la estructura contenedora inmediatamente después de que lbs_free_adapter() retorna.<br />
<br />
Ambas devoluciones de llamada de temporizador (lbs_cmd_timeout_handler y lbs_tx_lockup_handler) acceden a priv-&gt;driver_lock, priv-&gt;cur_cmd, priv-&gt;dev y otros campos, lo que serían todas violaciones de uso después de liberación.<br />
<br />
Usar timer_delete_sync() en su lugar para asegurar que cualquier devolución de llamada de temporizador en ejecución se haya completado antes de retornar.<br />
<br />
Este error fue introducido en el commit 8f641d93c38a (&#39;libertas: detectar bloqueos de TX y reiniciar hardware&#39;) donde se usó del_timer() en lugar de del_timer_sync() en la ruta de limpieza. El command_timer ha tenido el mismo problema desde que el controlador fue escrito por primera vez.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/03cc8f90d0537fcd4985c3319b4fafbf2e3fb1f0
- https://git.kernel.org/stable/c/3c5c818c78b03a1725f3dcd566865c77b48dd3a6
- https://git.kernel.org/stable/c/3f9dec4a6d95d7f1f5e9e9dfdfa173c053bba8dc
- https://git.kernel.org/stable/c/a9f55b14486426d907459bced5825a25063bd922
- https://git.kernel.org/stable/c/d0155fe68f31b339961cf2d4f92937d57e9384e6
- https://git.kernel.org/stable/c/ed7d30f90b77f73a47498686ede83f622b7e4f0d



