CVE-2024-40995

net/sched: act_api: fix possible infinite loop in tcf_idr_check_alloc()

MEDIUM
5.5
CVSS Score
Published: July 12, 2024 at 12:37 PM 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.3%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: net/sched: act_api: fix possible infinite loop in tcf_idr_check_alloc() syzbot found hanging tasks waiting on rtnl_lock [1] A reproducer is available in the syzbot bug. When a request to add multiple actions with the same index is sent, the second request will block forever on the first request. This holds rtnl_lock, and causes tasks to hang. Return -EAGAIN to prevent infinite looping, while keeping documented behavior. [1] INFO: task kworker/1:0:5088 blocked for more than 143 seconds. Not tainted 6.9.0-rc4-syzkaller-00173-g3cdb45594619 #0 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:kworker/1:0 state:D stack:23744 pid:5088 tgid:5088 ppid:2 flags:0x00004000 Workqueue: events_power_efficient reg_check_chans_work Call Trace: <TASK> context_switch kernel/sched/core.c:5409 [inline] __schedule+0xf15/0x5d00 kernel/sched/core.c:6746 __schedule_loop kernel/sched/core.c:6823 [inline] schedule+0xe7/0x350 kernel/sched/core.c:6838 schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:6895 __mutex_lock_common kernel/locking/mutex.c:684 [inline] __mutex_lock+0x5b8/0x9c0 kernel/locking/mutex.c:752 wiphy_lock include/net/cfg80211.h:5953 [inline] reg_leave_invalid_chans net/wireless/reg.c:2466 [inline] reg_check_chans_work+0x10a/0x10e0 net/wireless/reg.c:2481

Affected

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

4.19 ≤ v < 5.4.2795.11 ≤ v < 5.15.1625.16 ≤ v < 6.1.965.5 ≤ v < 5.10.2216.2 ≤ v < 6.6.366.7 ≤ v < 6.9.7190c1d452a91c38a3462abdd81752be1b9006a86.106.10 rc16.10 rc26.10 rc36.10 rc4
Vendor states this is fixed in 0d8a2d287c8a394c0d4653f0c6c7be4c688e5a74 (fixed)
Vendor states this is fixed in 25987a97eec4d5f897cd04ee1b45170829c610da (fixed)
Vendor states this is fixed in 5f926aa96b08b6c47178fe1171e7ae331c695fc2 (fixed)
Vendor states this is fixed in 6fc78d67f51aeb9a542d39a8714e16bc411582d4 (fixed)
Vendor states this is fixed in 7a0e497b597df7c4cf2b63fc6e9188b6cabe5335 (fixed)
Vendor states this is fixed in c6a7da65a296745535a964be1019ec7691b0cb90 (fixed)
Vendor states this is fixed in d864319871b05fadd153e0aede4811ca7008f5d6 (fixed)
Vendor states this is fixed in 4.19 (unaffected)
Vendor states this is fixed in 5.10.221 (unaffected)
Vendor states this is fixed in 5.15.162 (unaffected)
Vendor states this is fixed in 5.4.279 (unaffected)
Vendor states this is fixed in 6.1.96 (unaffected)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.6.36 (unaffected)
Vendor states this is fixed in 6.9.7 (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/0d8a2d287c8a394c0d4653f0c6c7be4c688e5a74
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/25987a97eec4d5f897cd04ee1b45170829c610da
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/5f926aa96b08b6c47178fe1171e7ae331c695fc2
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/6fc78d67f51aeb9a542d39a8714e16bc411582d4
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/7a0e497b597df7c4cf2b63fc6e9188b6cabe5335
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c6a7da65a296745535a964be1019ec7691b0cb90
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/d864319871b05fadd153e0aede4811ca7008f5d6
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-835

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