CVE-2024-43889

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

MEDIUM
5.5
CVSS Score
Published: August 26, 2024 at 10:10 AM UTC
Updated: October 15, 2026 at 01:18 AM UTC
7 products affected across 2 vendorsLinux KernelSIMATIC S7-1500 TM MFPRUGGEDCOM RST2428P Firmware

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.11 ≤ v < 5.15.1655.16 ≤ v < 6.1.1055.8 ≤ v < 5.10.2246.2 ≤ v < 6.6.466.7 ≤ v < 6.10.54ed42638f4428e70ead59d170f3d17ff761a0f6.116.11 rc16.11 rc2
Vendor states this is fixed in 6d45e1c948a8b7ed6ceddb14319af69424db730c (fixed)
Vendor states this is fixed in 8f5ffd2af7274853ff91d6cd62541191d9fbd10d (fixed)
Vendor states this is fixed in 924f788c906dccaca30acab86c7124371e1d6f2c (fixed)
Vendor states this is fixed in a29cfcb848c31f22b4de6a531c3e1d68c9bfe09f (fixed)
Vendor states this is fixed in ab8b397d5997d8c37610252528edc54bebf9f6d3 (fixed)
Vendor states this is fixed in da0ffe84fcc1627a7dff82c80b823b94236af905 (fixed)
Vendor states this is fixed in 5.10.224 (unaffected)
Vendor states this is fixed in 5.15.165 (unaffected)
Vendor states this is fixed in 5.8 (unaffected)
Vendor states this is fixed in 6.1.105 (unaffected)
Vendor states this is fixed in 6.10.5 (unaffected)
Vendor states this is fixed in 6.11 (unaffected)
Vendor states this is fixed in 6.6.46 (unaffected)
v < V3.1
Affected range stops below V3.1, so it looks safe — our inference, not a vendor statement
v < V3.1
Affected range stops below V3.1, so it looks safe — our inference, not a vendor statement
v < V3.1
Affected range stops below V3.1, so it looks safe — our inference, not a vendor statement
v < V3.1
Affected range stops below V3.1, so it looks safe — our inference, not a vendor statement
v < V3.1
Affected range stops below V3.1, so it looks safe — our inference, not a vendor statement

References (11)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/6d45e1c948a8b7ed6ceddb14319af69424db730c
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8f5ffd2af7274853ff91d6cd62541191d9fbd10d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/924f788c906dccaca30acab86c7124371e1d6f2c
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a29cfcb848c31f22b4de6a531c3e1d68c9bfe09f
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ab8b397d5997d8c37610252528edc54bebf9f6d3
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/da0ffe84fcc1627a7dff82c80b823b94236af905
Source: af854a3a-2127-422b-91ae-364da2661108
https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html
Source: af854a3a-2127-422b-91ae-364da2661108
https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-369

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card