All vulnerabilities
CVE-2026-97958

Linux: net/sched: cls_api: Don't replay RTM_GETCHAIN in tc_ctl_chain().

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.18%Chance of exploitation activity in the next 30 days, higher than 6% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in240251a4ca7cda213103694b6e21c4a5745e5d8bAlso 9a0f07f7dbd1bfe8c2fd03ad055e9e60a703d5df, 6558b0d46c5941ed1aa67da8878e224c54239cc5 and 2 moreCVE List
Published25 Sep 2026Updated 19 Oct 2026CVE List

What fixes it

  • 240251a4ca7cda213103694b6e21c4a5745e5d8bLinuxCVE List
  • 9a0f07f7dbd1bfe8c2fd03ad055e9e60a703d5dfLinuxCVE List
  • 6558b0d46c5941ed1aa67da8878e224c54239cc5LinuxCVE List
  • 96c2fc5daf983af2e0c1256c31e89c1f3f855279LinuxCVE List
  • 503ba58481e3ba69d28127d35a39cec529f9670cLinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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

net/sched: cls_api: Don't replay RTM_GETCHAIN in tc_ctl_chain().

If a netlink socket sends RTM_GETCHAIN requests repeatedly without recv()ing the responses, tc_ctl_chain() hogs CPU and triggers Hung Task splat. [0]

As caught in the stack trace, netlink_attachskb() could confuse tc_ctl_chain() by returning -EAGAIN when the userspace netlink socket's receive buffer is full.

The replay: label exists since commit 32a4f5ecd738 ("net: sched: introduce chain object to uapi") but was not used initially.

Since commit 9f407f1768d3 ("net: sched: introduce chain templates"), the label is needed for RTM_NEWCHAIN because tcf_proto_lookup_ops() may release RTNL to call request_module().

However, the replay logic is unnecessary for RTM_GETCHAIN.

Let's apply the replay logic only for RTM_NEWCHAIN.

[0]: INFO: task repro:1018 is blocked on a mutex likely owned by task repro:1022. task:repro state:R running task stack:14096 pid:1022 tgid:1014 ppid:961 task_flags:0x400040 flags:0x00080000 Call Trace: <TASK> ? clockevents_program_event (kernel/time/clockevents.c:372) ? pskb_expand_head (net/core/skbuff.c:615) ? skb_release_data (net/core/skbuff.c:1122) ? netlink_attachskb (./include/linux/skbuff.h:1323 ./include/linux/skbuff.h:1332 net/netlink/af_netlink.c:1232) ? __netlink_lookup (./include/linux/rcupdate.h:882 ./include/linux/rhashtable.h:711 net/netlink/af_netlink.c:499) ? tc_chain_notify (net/sched/cls_api.c:3045) ? tc_chain_notify (./include/linux/skbuff.h:1384 net/sched/cls_api.c:3041) ? netlink_unicast (net/netlink/af_netlink.c:1335) ? rtnl_unicast (./include/net/netlink.h:1198 net/core/rtnetlink.c:985) ? tc_ctl_chain (net/sched/cls_api.c:3242) ? rtnetlink_rcv_msg (net/core/rtnetlink.c:7146) ? netlink_unicast (net/netlink/af_netlink.c:1354) ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:7177) ? netlink_rcv_skb (net/netlink/af_netlink.c:2556) ? netlink_unicast (net/netlink/af_netlink.c:1319) ? netlink_sendmsg (net/netlink/af_netlink.c:1900) ? __sock_sendmsg (net/socket.c:800) ? __sys_sendto (net/socket.c:2281) ? __x64_sys_sendto (net/socket.c:2288 net/socket.c:2284 net/socket.c:2284) ? do_syscall_64 (arch/x86/entry/syscall_64.c:61 arch/x86/entry/syscall_64.c:84) ? entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) </TASK>

Text from CVE List

Affected versions 18

  • Linuxaffected: 2ed9db3074fcd8d12709fe40ff0e691d74229818 before 240251a4ca7cda213103694b6e21c4a5745e5d8bCVE List
  • Linuxaffected: 2ed9db3074fcd8d12709fe40ff0e691d74229818 before 9a0f07f7dbd1bfe8c2fd03ad055e9e60a703d5dfCVE List
  • Linuxaffected: 2ed9db3074fcd8d12709fe40ff0e691d74229818 before 6558b0d46c5941ed1aa67da8878e224c54239cc5CVE List
  • Linuxaffected: 2ed9db3074fcd8d12709fe40ff0e691d74229818 before 96c2fc5daf983af2e0c1256c31e89c1f3f855279CVE List
  • Linuxaffected: 2ed9db3074fcd8d12709fe40ff0e691d74229818 before a1c2840d95af1fa3d83ba71e23fa0c674a4c6796CVE List
  • Linuxaffected: 2ed9db3074fcd8d12709fe40ff0e691d74229818 before 503ba58481e3ba69d28127d35a39cec529f9670cCVE List
  • Linuxaffected: 2ed9db3074fcd8d12709fe40ff0e691d74229818 before e9ac395bb56122a057d0aa91a6b55d9e3fa37c26CVE List
  • Linuxaffected: 2ed9db3074fcd8d12709fe40ff0e691d74229818 before dff39930ad5e53d202bfdfb14687d1d2fd753b4dCVE List
  • Linuxaffected: 4.19CVE List
  • Linuxunaffected: all versions before 4.19CVE List
  • Linuxunaffected: 5.10.271 through 5.10.*CVE List
  • Linuxunaffected: 5.15.222 through 5.15.*CVE List
  • Linuxunaffected: 6.1.189 through 6.1.*CVE List
  • Linuxunaffected: 6.6.158 through 6.6.*CVE List
  • Linuxunaffected: 6.12.111 through 6.12.*CVE List
  • Linuxunaffected: 6.18.53 through 6.18.*CVE List
  • Linuxunaffected: 7.2.7 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 8