In the Linux kernel, the following vulnerability has been resolved: ipv4: ip_tunnel: Fix suspicious RCU usage warning in ip_tunnel_init_flow() There are code paths from which the function is called without holding the RCU read lock, resulting in a suspicious RCU usage warning [1]. Fix by using l3mdev_master_upper_ifindex_by_index() which will acquire the RCU read lock before calling l3mdev_master_upper_ifindex_by_index_rcu(). [1] WARNING: suspicious RCU usage 6.12.0-rc3-custom-gac8f72681cf2 #141 Not tainted ----------------------------- net/core/dev.c:876 RCU-list traversed in non-reader section!! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 1 lock held by ip/361: #0: ffffffff86fc7cb0 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x377/0xf60 stack backtrace: CPU: 3 UID: 0 PID: 361 Comm: ip Not tainted 6.12.0-rc3-custom-gac8f72681cf2 #141 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 Call Trace: <TASK> dump_stack_lvl+0xba/0x110 lockdep_rcu_suspicious.cold+0x4f/0xd6 dev_get_by_index_rcu+0x1d3/0x210 l3mdev_master_upper_ifindex_by_index_rcu+0x2b/0xf0 ip_tunnel_bind_dev+0x72f/0xa00 ip_tunnel_newlink+0x368/0x7a0 ipgre_newlink+0x14c/0x170 __rtnl_newlink+0x1173/0x19c0 rtnl_newlink+0x6c/0xa0 rtnetlink_rcv_msg+0x3cc/0xf60 netlink_rcv_skb+0x171/0x450 netlink_unicast+0x539/0x7f0 netlink_sendmsg+0x8c1/0xd80 ____sys_sendmsg+0x8f9/0xc20 ___sys_sendmsg+0x197/0x1e0 __sys_sendmsg+0x122/0x1f0 do_syscall_64+0xbb/0x1d0 entry_SYSCALL_64_after_hwframe+0x77/0x7f
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ipv4: ip_tunnel: Se corrige la advertencia de uso sospechoso de RCU en ip_tunnel_init_flow() Hay rutas de código desde las que se llama a la función sin mantener el bloqueo de lectura de RCU, lo que resulta en una advertencia de uso sospechoso de RCU [1]. Se soluciona utilizando l3mdev_master_upper_ifindex_by_index() que adquirirá el bloqueo de lectura de RCU antes de llamar a l3mdev_master_upper_ifindex_by_index_rcu(). [1] ADVERTENCIA: uso sospechoso de RCU 6.12.0-rc3-custom-gac8f72681cf2 #141 No contaminado ----------------------------- net/core/dev.c:876 ¡Lista de RCU recorrida en una sección que no es de lectura! Otra información que podría ayudarnos a depurar esto: rcu_scheduler_active = 2, debug_locks = 1 1 bloqueo retenido por ip/361: #0: ffffffff86fc7cb0 (rtnl_mutex){+.+.}-{3:3}, en: rtnetlink_rcv_msg+0x377/0xf60 seguimiento de pila: CPU: 3 UID: 0 PID: 361 Comm: ip No contaminado 6.12.0-rc3-custom-gac8f72681cf2 #141 Nombre del hardware: Bochs Bochs, BIOS Bochs 01/01/2011 Seguimiento de llamadas: dump_stack_lvl+0xba/0x110 lockdep_rcu_suspicious.cold+0x4f/0xd6 dev_get_by_index_rcu+0x1d3/0x210 l3mdev_master_upper_ifindex_by_index_rcu+0x2b/0xf0 enlace de túnel ip_dev+0x72f/0xa00 nuevo enlace ip_tunnel+0x368/0x7a0 nuevo enlace ipgre+0x14c/0x170 nuevo enlace __rtnl+0x1173/0x19c0 nuevo enlace rtnl+0x6c/0xa0 rtnetlink_rcv_msg+0x3cc/0xf60 netlink_rcv_skb+0x171/0x450 unidifusión netlink+0x539/0x7f0 envío netlink_msg+0x8c1/0xd80 ____sys_sendmsg+0x8f9/0xc20 ___sys_sendmsg+0x197/0x1e0 __sys_sendmsg+0x122/0x1f0 hacer_syscall_64+0xbb/0x1d0 entrada_SYSCALL_64_después_hwframe+0x77/0x7f
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
| Attack Vector | LOCAL |
|---|---|
| Attack Complexity | LOW |
| Privileges Required | LOW |
| User Interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality Impact | NONE |
| Integrity Impact | NONE |
| Availability Impact | HIGH |
| Source | Type | Description |
|---|---|---|
| [email protected] | Primary |
en
NVD-CWE-noinfo
|
| Vendor | Product | Version | Update | Type |
|---|---|---|---|---|
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd369a30f00> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36b3fbf80> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36b13ba80> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd289d31940> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd369a32880> | Operating System |
| linux | linux_kernel | 6.12 | <built-in method update of dict object at 0x7fd369a33bc0> | Operating System |
| linux | linux_kernel | 6.12 | <built-in method update of dict object at 0x7fd36b186a80> | Operating System |
| linux | linux_kernel | 6.12 | <built-in method update of dict object at 0x7fd36b187a40> | Operating System |
| linux | linux_kernel | 6.12 | <built-in method update of dict object at 0x7fd38557ce00> | Operating System |
| linux | linux_kernel | 6.12 | <built-in method update of dict object at 0x7fd369a31580> | Operating System |
| Vulnerable | CPE |
|---|---|
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:6.12:rc3:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:6.12:rc4:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:6.12:rc5:*:*:*:*:*:* |