Vulnerabilidad en kernel de Linux (CVE-2021-47084)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/03/2024
Última modificación:
19/03/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: hamradio: diferir ax25 kfree después de unregister_netdev Existe una posible condición de ejecución (use-after-free) como la siguiente (USE) | (GRATIS) ax25_sendmsg | ax25_queue_xmit | dev_queue_xmit | __dev_queue_xmit | __dev_xmit_skb | sch_direct_xmit | ... xmit_one | netdev_start_xmit | tty_ldisc_kill __netdev_start_xmit | mkiss_close ax_xmit | kfree ax_encaps | | Aunque hay dos primitivas de sincronización antes de kfree: 1. wait_for_completion(&ax->dead). Esto puede evitar la ejecución con rutinas de mkiss_ioctl. Sin embargo, no puede detener la rutina que proviene de la capa superior, es decir, ax25_sendmsg. 2. netif_stop_queue(ax->dev). Parece que esta línea de código tiene como objetivo detener la cola de transmisión pero no logra detener la rutina que ya se está transmitiendo. Este parche reordena kfree después de unregister_netdev para evitar el posible UAF ya que unregister_netdev() está bien sincronizado y no regresará si hay una rutina en ejecución.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/3e0588c291d6ce225f2b891753ca41d45ba42469
- https://git.kernel.org/stable/c/450121075a6a6f1d50f97225d3396315309d61a1
- https://git.kernel.org/stable/c/896193a02a2981e60c40d4614fd095ce92135ccd
- https://git.kernel.org/stable/c/8a1a314965a17c62084a056b4f2cb7a770854c90
- https://git.kernel.org/stable/c/b5b193d0c67180fefdc664650138e3b7959df615
- https://git.kernel.org/stable/c/cb6c99aedd2c843056a598a8907a6128cb07603b
- https://git.kernel.org/stable/c/eaa816a86e629cbcc0a94f38391fee09231628c7
- https://git.kernel.org/stable/c/ef5f7bfa19e3fc366f4c6d1a841ceaddf7a9f5d4



