CVE-2024-50019
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
21/10/2024
Last modified:
03/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
kthread: unpark only parked kthread<br />
<br />
Calling into kthread unparking unconditionally is mostly harmless when<br />
the kthread is already unparked. The wake up is then simply ignored<br />
because the target is not in TASK_PARKED state.<br />
<br />
However if the kthread is per CPU, the wake up is preceded by a call<br />
to kthread_bind() which expects the task to be inactive and in<br />
TASK_PARKED state, which obviously isn&#39;t the case if it is unparked.<br />
<br />
As a result, calling kthread_stop() on an unparked per-cpu kthread<br />
triggers such a warning:<br />
<br />
WARNING: CPU: 0 PID: 11 at kernel/kthread.c:525 __kthread_bind_mask kernel/kthread.c:525<br />
<br />
kthread_stop+0x17a/0x630 kernel/kthread.c:707<br />
destroy_workqueue+0x136/0xc40 kernel/workqueue.c:5810<br />
wg_destruct+0x1e2/0x2e0 drivers/net/wireguard/device.c:257<br />
netdev_run_todo+0xe1a/0x1000 net/core/dev.c:10693<br />
default_device_exit_batch+0xa14/0xa90 net/core/dev.c:11769<br />
ops_exit_list net/core/net_namespace.c:178 [inline]<br />
cleanup_net+0x89d/0xcc0 net/core/net_namespace.c:640<br />
process_one_work kernel/workqueue.c:3231 [inline]<br />
process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312<br />
worker_thread+0x86d/0xd70 kernel/workqueue.c:3393<br />
kthread+0x2f0/0x390 kernel/kthread.c:389<br />
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147<br />
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244<br />
<br />
<br />
Fix this with skipping unecessary unparking while stopping a kthread.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.168 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.113 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.57 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.11.4 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/19a5029981c87c2ad0845e713837faa88f5d8e2b
- https://git.kernel.org/stable/c/214e01ad4ed7158cab66498810094fac5d09b218
- https://git.kernel.org/stable/c/40a6e660d2a3a7a5cb99f0b8ff4fb41bad039f68
- https://git.kernel.org/stable/c/8608196a155cb6cfae04d96b10a2652d0327e33f
- https://git.kernel.org/stable/c/cda5423c1a1c906062ef235c940f249b97d9d135
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html



