CVE-2024-43889CWE-369

CVE-2024-43889

Medium · published August 26, 2024

CVSS v3.1
5.5
EPSS
0%
Percentile
13.8
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

padata: Fix possible divide-by-0 panic in padata_mt_helper()

We are hit with a not easily reproducible divide-by-0 panic in padata.c at

bootup time.

[ 10.017908] Oops: divide error: 0000 1 PREEMPT SMP NOPTI

[ 10.017908] CPU: 26 PID: 2627 Comm: kworker/u1666:1 Not tainted 6.10.0-15.el10.x86_64 #1

[ 10.017908] Hardware name: Lenovo ThinkSystem SR950 [7X12CTO1WW]/[7X12CTO1WW], BIOS [PSE140J-2.30] 07/20/2021

[ 10.017908] Workqueue: events_unbound padata_mt_helper

[ 10.017908] RIP: 0010:padata_mt_helper+0x39/0xb0

:

[ 10.017963] Call Trace:

[ 10.017968] <TASK>

[ 10.018004] ? padata_mt_helper+0x39/0xb0

[ 10.018084] process_one_work+0x174/0x330

[ 10.018093] worker_thread+0x266/0x3a0

[ 10.018111] kthread+0xcf/0x100

[ 10.018124] ret_from_fork+0x31/0x50

[ 10.018138] ret_from_fork_asm+0x1a/0x30

[ 10.018147] </TASK>

Looking at the padata_mt_helper() function, the only way a divide-by-0

panic can happen is when ps->chunk_size is 0. The way that chunk_size is

initialized in padata_do_multithreaded(), chunk_size can be 0 when the

min_chunk in the passed-in padata_mt_job structure is 0.

Fix this divide-by-0 panic by making sure that chunk_size will be at least

1 no matter what the input parameters are.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00236 · 13.8th percentile
Weakness
CWE-369 · Divide By Zero
Published
2024-08-26T15:15Z
Affected products (7)
ProductVersionsFixed in
linux/linux_kernel≥ 5.8, < 5.10.2245.10.224
linux/linux_kernel≥ 5.11, < 5.15.1655.15.165
linux/linux_kernel≥ 5.16, < 6.1.1056.1.105
linux/linux_kernel≥ 6.2, < 6.6.466.6.46
linux/linux_kernel≥ 6.7, < 6.10.56.10.5
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (11)
EPSS history
Timeline
  • 26 AUG 10:10Z
    padata: Fix possible divide-by-0 panic in padata_mt_helper()
    cvelistv5