In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: cancel rfkill_block work in wiphy_unregister() There is a use-after-free error in cfg80211_shutdown_all_interfaces found by syzkaller: BUG: KASAN: use-after-free in cfg80211_shutdown_all_interfaces+0x213/0x220 Read of size 8 at addr ffff888112a78d98 by task kworker/0:5/5326 CPU: 0 UID: 0 PID: 5326 Comm: kworker/0:5 Not tainted 6.19.0-rc2 #2 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 Workqueue: events cfg80211_rfkill_block_work Call Trace: <TASK> dump_stack_lvl+0x116/0x1f0 print_report+0xcd/0x630 kasan_report+0xe0/0x110 cfg80211_shutdown_all_interfaces+0x213/0x220 cfg80211_rfkill_block_work+0x1e/0x30 process_one_work+0x9cf/0x1b70 worker_thread+0x6c8/0xf10 kthread+0x3c5/0x780 ret_from_fork+0x56d/0x700 ret_from_fork_asm+0x1a/0x30 </TASK> The problem arises due to the rfkill_block work is not cancelled when wiphy is being unregistered. In order to fix the issue cancel the corresponding work in wiphy_unregister(). Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: wifi: cfg80211: cancelar el trabajo rfkill_block en wiphy_unregister() Existe un error de uso después de liberación en cfg80211_shutdown_all_interfaces encontrado por syzkaller: BUG: KASAN: uso después de liberación en cfg80211_shutdown_all_interfaces+0x213/0x220 Lectura de tamaño 8 en la dirección ffff888112a78d98 por la tarea kworker/0:5/5326 CPU: 0 UID: 0 PID: 5326 Comm: kworker/0:5 No contaminado 6.19.0-rc2 #2 PREEMPT(voluntario) Nombre del hardware: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 Cola de trabajo: eventos cfg80211_rfkill_block_work Rastro de llamada: dump_stack_lvl+0x116/0x1f0 print_report+0xcd/0x630 kasan_report+0xe0/0x110 cfg80211_shutdown_all_interfaces+0x213/0x220 cfg80211_rfkill_block_work+0x1e/0x30 process_one_work+0x9cf/0x1b70 worker_thread+0x6c8/0xf10 kthread+0x3c5/0x780 ret_from_fork+0x56d/0x700 ret_from_fork_asm+0x1a/0x30 El problema surge debido a que el trabajo rfkill_block no se cancela cuando wiphy está siendo desregistrado. Para solucionar el problema, cancele el trabajo correspondiente en wiphy_unregister(). Encontrado por Linux Verification Center (linuxtesting.org) con Syzkaller.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
| Attack Vector | LOCAL |
|---|---|
| Attack Complexity | LOW |
| Privileges Required | LOW |
| User Interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality Impact | HIGH |
| Integrity Impact | HIGH |
| Availability Impact | HIGH |
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Type: Secondary
Exploitability Score: 1.8
Impact Score: 5.9
| Source | Type | Description |
|---|---|---|
| [email protected] | Primary |
en
CWE-416
|
| Vendor | Product | Version | Update | Type |
|---|---|---|---|---|
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd384e10240> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36b3c0e00> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd2905c2080> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36b3c1f00> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd384e13180> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd384e12e80> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36b3c1880> | Operating System |
| linux | linux_kernel | 2.6.31 | <built-in method update of dict object at 0x7fd36b3c1a40> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7fd36b3c3d80> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7fd384e13f40> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7fd384aa37c0> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7fd36b3c1980> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7fd2dbc6bc00> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7fd384ab4a40> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7fd36b3c3280> | 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:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:2.6.31:-:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:* |