Vulnerabilidad en kernel de Linux (CVE-2022-48830)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
16/07/2024
Última modificación:
16/07/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: can: isotp: corrige una posible ejecución de recepción de tramas CAN en isotp_rcv() Al recibir una trama CAN, la lógica del código actual no considera la recepción simultánea de procesos que no aparecen en el uso en el mundo real. Ziyang Xuan escribe: El siguiente problema syz es uno de los escenarios. so->rx.len es cambiado por isotp_rcv_ff() durante isotp_rcv_cf(), so->rx.len es igual a 0 antes de alloc_skb() y es igual a 4096 después de alloc_skb(). Eso activará skb_over_panic() en skb_put(). ==================================================== ===== CPU: 1 PID: 19 Comm: ksoftirqd/1 No contaminado 5.16.0-rc8-syzkaller #0 RIP: 0010:skb_panic+0x16c/0x16e net/core/skbuff.c:113 Seguimiento de llamadas: skb_over_panic net/core/skbuff.c:118 [en línea] skb_put.cold+0x24/0x24 net/core/skbuff.c:1990 isotp_rcv_cf net/can/isotp.c:570 [en línea] isotp_rcv+0xa38/0x1e30 net/ can/isotp.c:668 entregar net/can/af_can.c:574 [en línea] can_rcv_filter+0x445/0x8d0 net/can/af_can.c:635 can_receive+0x31d/0x580 net/can/af_can.c:665 can_rcv+ 0x120/0x1c0 net/can/af_can.c:696 __netif_receive_skb_one_core+0x114/0x180 net/core/dev.c:5465 __netif_receive_skb+0x24/0x1b0 net/core/dev.c:5579 Por lo tanto, nos aseguramos de que los cambios de estado y las estructuras de datos mantenga la coherencia en el momento de recepción de la trama CAN agregando un spin_lock en isotp_rcv(). Esto soluciona el problema informado por syzkaller pero no afecta el funcionamiento en el mundo real.