Vulnerabilidad en kernel de Linux (CVE-2022-49304)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
26/02/2025
Última modificación:
26/02/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drivers: tty: serial: Arreglar interbloqueo en sa1100_set_termios() Hay un interbloqueo en sa1100_set_termios(), que se muestra a continuación: (Hilo 1) | (Hilo 2) | sa1100_enable_ms() sa1100_set_termios() | mod_timer() spin_lock_irqsave() //(1) | (esperar un tiempo) ... | sa1100_timeout() del_timer_sync() | spin_lock_irqsave() //(2) (esperar a que el temporizador se detenga) | ... Mantenemos sport->port.lock en la posición (1) del hilo 1 y usamos del_timer_sync() para esperar a que el temporizador se detenga, pero el controlador del temporizador también necesita sport->port.lock en la posición (2) del hilo 2. Como resultado, sa1100_set_termios() se bloqueará para siempre. Este parche mueve del_timer_sync() antes de spin_lock_irqsave() para evitar el bloqueo.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/0976808d0d171ec837d4bd3e9f4ad4a00ab703b8
- https://git.kernel.org/stable/c/09a5958a2452ad22d0cb638711ef34ea1863a829
- https://git.kernel.org/stable/c/2cbfc38df580bff5b2fe19f21c1a7520efcc4b3b
- https://git.kernel.org/stable/c/34d91e555e5582cffdbcbb75517bc9217866823e
- https://git.kernel.org/stable/c/553213432ef0c295becdc08c0207d2094468f673
- https://git.kernel.org/stable/c/62b2caef400c1738b6d22f636c628d9f85cd4c4c
- https://git.kernel.org/stable/c/6e2273eefab54a521d9c59efb6e1114e742bdf41
- https://git.kernel.org/stable/c/85e20f8bd31a46d8c60103d0274a8ebe8f47f2b2
- https://git.kernel.org/stable/c/920f0ae7a129ffee98a106e3bbdfd61a2a59e939