In the Linux kernel, the following vulnerability has been resolved: netpoll: Fix race condition in netpoll_owner_active KCSAN detected a race condition in netpoll: BUG: KCSAN: data-race in net_rx_action / netpoll_send_skb write (marked) to 0xffff8881164168b0 of 4 bytes by interrupt on cpu 10: net_rx_action (./include/linux/netpoll.h:90 net/core/dev.c:6712 net/core/dev.c:6822) <snip> read to 0xffff8881164168b0 of 4 bytes by task 1 on cpu 2: netpoll_send_skb (net/core/netpoll.c:319 net/core/netpoll.c:345 net/core/netpoll.c:393) netpoll_send_udp (net/core/netpoll.c:?) <snip> value changed: 0x0000000a -> 0xffffffff This happens because netpoll_owner_active() needs to check if the current CPU is the owner of the lock, touching napi->poll_owner non atomically. The ->poll_owner field contains the current CPU holding the lock. Use an atomic read to check if the poll owner is the current CPU.
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad: netpoll: Corrige condición de ejecución en netpoll_owner_active KCSAN detectó una condición de ejecución en netpoll: ERROR: KCSAN: data-race en net_rx_action / netpoll_send_skb escribe (marcado) en 0xffff8881164168b0 de 4 bytes por interrupción en CPU 10: net_rx_action (./include/linux/netpoll.h:90 net/core/dev.c:6712 net/core/dev.c:6822) leído en 0xffff8881164168b0 de 4 bytes por tarea 1 en la CPU 2 : netpoll_send_skb (net/core/netpoll.c:319 net/core/netpoll.c:345 net/core/netpoll.c:393) netpoll_send_udp (net/core/netpoll.c:?) valor cambiado: 0x0000000a -> 0xffffffff Esto sucede porque netpoll_owner_active() necesita verificar si la CPU actual es la propietaria del bloqueo, tocando napi->poll_owner de forma no atómica. El campo ->poll_owner contiene la CPU actual que mantiene el bloqueo. Utilice una lectura atómica para comprobar si el propietario de la encuesta es la CPU actual.
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
| Attack Vector | LOCAL |
|---|---|
| Attack Complexity | HIGH |
| Privileges Required | LOW |
| User Interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality Impact | NONE |
| Integrity Impact | NONE |
| Availability Impact | HIGH |
| Source | Type | Description |
|---|---|---|
| [email protected] | Primary |
en
CWE-362
|
| Vendor | Product | Version | Update | Type |
|---|---|---|---|---|
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd34016aac0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36059fb40> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36059ef40> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd340ba3700> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36059cdc0> | 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:*:*:*:*:*:*:*:* |