CVE-2024-40995: net/sched: act_api: fix possible infinite loop in tcf_idr_check_alloc()
In the Linux kernel, the following vulnerability has been resolved:
net/sched: actapi: fix possible infinite loop in tcfidrcheckalloc()
syzbot found hanging tasks waiting on rtnllock [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 rtnllock, 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/hungtasktimeoutsecs" disables this message. task:kworker/1:0 state:D stack:23744 pid:5088 tgid:5088 ppid:2 flags:0x00004000 Workqueue: eventspowerefficient regcheckchanswork Call Trace: <TASK> contextswitch kernel/sched/core.c:5409 [inline] schedule+0xf15/0x5d00 kernel/sched/core.c:6746 scheduleloop kernel/sched/core.c:6823 [inline] schedule+0xe7/0x350 kernel/sched/core.c:6838 schedulepreemptdisabled+0x13/0x30 kernel/sched/core.c:6895 mutexlockcommon kernel/locking/mutex.c:684 [inline] mutexlock+0x5b8/0x9c0 kernel/locking/mutex.c:752 wiphylock include/net/cfg80211.h:5953 [inline] regleaveinvalidchans net/wireless/reg.c:2466 [inline] regcheckchanswork+0x10a/0x10e0 net/wireless/reg.c:2481
Other sources
Linux Kernel is vulnerable to a denial of service, caused by an infinite loop in Tcfidrcheckalloc(). By sending a specially crafted request, a local authenticated attacker could exploit this vulnerability to cause a denial of service.
— IBM
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-40995?
CVE-2024-40995 is a critical vulnerability that may lead to an infinite loop in the Linux kernel.
How do I fix CVE-2024-40995?
To fix CVE-2024-40995, update your Linux kernel to one of the fixed versions noted in the remediation details.
Which versions of the Linux kernel are affected by CVE-2024-40995?
CVE-2024-40995 affects several versions of the Linux kernel including versions prior to 5.4.279, 5.10.221, 5.15.162, and others listed in the remediation section.
What products are impacted by CVE-2024-40995?
Products affected by CVE-2024-40995 include various Red Hat and Debian Linux kernel versions.
Is there a known exploit for CVE-2024-40995?
Yes, CVE-2024-40995 has been found to cause hanging tasks and can be reproduced as indicated in the syzbot bug report.