Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2023-52784)

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
21/05/2024
Última modificación:
21/05/2024

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bonding: detener el dispositivo en bond_setup_by_slave(). El compromiso 9eed321cde22 ("net: lapbether: solo admite dispositivos ethernet") ha podido mantener a syzbot alejado de net/lapb, hasta hoy. En el siguiente símbolo [1], el problema es que se ha creado un dispositivo lapbether sobre un dispositivo de unión sin miembros. Luego, agregar un miembro que no sea ARPHRD_ETHER obligó al maestro de vinculación a cambiar su tipo. La solución es asegurarnos de llamar a dev_close() en bond_setup_by_slave() para que se eliminen los posibles dispositivos lapbether vinculados (o cualquier otro dispositivo que tenga suposiciones sobre el dispositivo físico). Se solucionó un error similar en la confirmación 40baec225765 ("vinculación: corregir el pánico en caso de falla de esclavitud no ARPHRD_ETHER") [1] skbuff: skb_under_panic: text:ffff800089508810 len:44 put:40 head:ffff0000c78e7c00 data:ffff0000c78e7bea tail:0x16 end: 0x140 dev:bond0 ERROR del kernel en net/core/skbuff.c:192! Error interno: Ups - ERROR: 00000000f2000800 [#1] PREEMPT Módulos SMP vinculados en: CPU: 0 PID: 6007 Comm: syz-executor383 No contaminado 6.6.0-rc3-syzkaller-gbf6547d8715b #0 Nombre de hardware: Google Google Compute Engine/ Google Compute Engine, BIOS Google 04/08/2023 pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc: skb_panic net/core/skbuff.c:188 [en línea] pc: skb_under_panic +0x13c/0x140 net/core/skbuff.c:202 lr: skb_panic net/core/skbuff.c:188 [en línea] lr: skb_under_panic+0x13c/0x140 net/core/skbuff.c:202 sp: ffff800096a06aa0 x29: ffff800096a06ab0 x28: ffff800096a06ba0 x27: dfff800000000000 x26: ffff0000ce9b9b50 x25: 0000000000000016 x24: ffff0000c78e7bea x23: ffff0000c78e7c00 x22: 0000000002c x21: 0000000000000140 x20: 0000000000000028 x19: ffff800089508810 x18: ffff800096a06100 x17: 0000000000000000 x16: ffff80008 a629a3c x15: 0000000000000001 x14: 1fffe00036837a32 x13: 0000000000000000 x12: 0000000000000000 x11: 0000000000000201 x10: 000000000000000 x9: cb50b496c519aa00 x8: cb50b496c519aa00 x7: 0000000000000001 x6: 00000000000001 x5: ffff800096a063b8 x4: ffff80008e280f80 x3: ffff8000805ad11c x2: 0000000000000001 x1: 0000000100000201 x0: 00000000000000 086 Rastreo de llamadas: skb_panic net/core/skbuff.c:188 [en línea] skb_under_panic+0x13c/0x140 net/core/skbuff.c:202 skb_push+0xf0/0x108 net/core/skbuff.c:2446 ip6gre_header+0xbc/0x738 net/ipv6/ip6_gre.c:1384 dev_hard_header include/linux/ netdevice.h:3136 [en línea] lapbeth_data_transmit+0x1c4/0x298 drivers/net/wan/lapbether.c:257 lapb_data_transmit+0x8c/0xb0 net/lapb/lapb_iface.c:447 lapb_transmit_buffer+0x178/0x204 net/lapb/lapb_out.c :149 lapb_send_control+0x220/0x320 net/lapb/lapb_subr.c:251 __lapb_disconnect_request+0x9c/0x17c net/lapb/lapb_iface.c:326 lapb_device_event+0x288/0x4e0 net/lapb/lapb_iface.c:492 notifier_call_chain+0 núcleo x1a4/0x510 /notifier.c:93 raw_notifier_call_chain+0x3c/0x50 kernel/notifier.c:461 call_netdevice_notifiers_info net/core/dev.c:1970 [en línea] call_netdevice_notifiers_extack net/core/dev.c:2008 [en línea] call_netdevice_notifiers net/core/dev .c:2022 [en línea] __dev_close_many+0x1b8/0x3c4 net/core/dev.c:1508 dev_close_many+0x1e0/0x470 net/core/dev.c:1559 dev_close+0x174/0x250 net/core/dev.c:1585 lapbeth_device_event +0x2e4/0x958 drivers/net/wan/lapbether.c:466 notifier_call_chain+0x1a4/0x510 kernel/notifier.c:93 raw_notifier_call_chain+0x3c/0x50 kernel/notifier.c:461 call_netdevice_notifiers_info net/core/dev.c:1970 [ en línea] call_netdevice_notifiers_extack net/core/dev.c:2008 [en línea] call_netdevice_notifiers net/core/dev.c:2022 [en línea] __dev_close_many+0x1b8/0x3c4 net/core/dev.c:1508 dev_close_many+0x1e0/0x470 net/core /dev.c:1559 dev_close+0x174/0x250 net/core/dev.c:1585 bond_enslave+0x2298/0x30cc drivers/net/bonding/bond_main.c:2332 bond_do_ioctl+0x268/0xc64 drivers/net/bonding/bond_main.c :4539 dev_ifsioc+0x754/0x9ac dev_ioctl+0x4d8/0xd34 net/core/dev_ioctl.c:786 sock_do_ioctl+0x1d4/0x2d0 net/socket.c:1217 ---truncado---

Impacto