In the Linux kernel, the following vulnerability has been resolved:
mptcp: init: protect sched with rcu_read_lock
Enabling CONFIG_PROVE_RCU_LIST with its dependence CONFIG_RCU_EXPERT creates this splat when an MPTCP socket is created:
============================= WARNING: suspicious RCU usage 6.12.0-rc2+ #11 Not tainted ----------------------------- net/mptcp/sched.c:44 RCU-list traversed in non-reader section!!
other info that might help us debug this:
rcu_scheduler_active = 2, debug_locks = 1 no locks held by mptcp_connect/176.
stack backtrace: CPU: 0 UID: 0 PID: 176 Comm: mptcp_connect Not tainted 6.12.0-rc2+ #11 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:123) lockdep_rcu_suspicious (kernel/locking/lockdep.c:6822) mptcp_sched_find (net/mptcp/sched.c:44 (discriminator 7)) mptcp_init_sock (net/mptcp/protocol.c:2867 (discriminator 1)) ? sock_init_data_uid (arch/x86/include/asm/atomic.h:28) inet_create.part.0.constprop.0 (net/ipv4/af_inet.c:386) ? __sock_create (include/linux/rcupdate.h:347 (discriminator 1)) __sock_create (net/socket.c:1576) __sys_socket (net/socket.c:1671) ? __pfx___sys_socket (net/socket.c:1712) ? do_user_addr_fault (arch/x86/mm/fault.c:1419 (discriminator 1)) __x64_sys_socket (net/socket.c:1728) do_syscall_64 (arch/x86/entry/common.c:52 (discriminator 1)) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
That's because when the socket is initialised, rcu_read_lock() is not used despite the explicit comment written above the declaration of mptcp_sched_find() in sched.c. Adding the missing lock/unlock avoids the warning.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 27, 2026 | Jul 27, 2026 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | May 15, 2025 | Nov 19, 2024 |
| Ubuntu | — | Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-genericUpgrade linux-image-6.8.0-1028-gcpUpgrade linux-image-6.11.0-1011-oracle-64kUpgrade linux-image-gkeopUpgrade linux-image-gkeop-6.8Upgrade linux-image-gcpUpgrade linux-image-azure-lts-24.04Upgrade linux-image-6.11.0-1005-realtimeUpgrade linux-image-6.8.0-1027-azureUpgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-oem-24.04aUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-58-lowlatencyUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-virtualUpgrade linux-image-oem-24.04Upgrade linux-image-oem-24.04bUpgrade linux-image-oracleUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-kvmUpgrade linux-image-6.8.0-58-lowlatency-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1026-nvidiaUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-6.11.0-18-genericUpgrade linux-image-6.11.0-1009-gcpUpgrade linux-image-lowlatencyUpgrade linux-image-generic-lpaeUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-6.11.0-1011-oracleUpgrade linux-image-6.8.0-1026-nvidia-lowlatency-64kUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.11.0-1010-lowlatency-64kUpgrade linux-image-ibm-classicUpgrade linux-image-gkeUpgrade linux-image-realtimeUpgrade linux-image-6.11.0-18-generic-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-generic-64kUpgrade linux-image-6.11.0-1009-azureUpgrade linux-image-6.8.0-1024-ibmUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.8.0-1028-gcp-64kUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-6.8.1-1020-realtimeUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-raspiUpgrade linux-image-6.8.0-1027-azure-fdeUpgrade linux-image-6.8.0-1024-oracleUpgrade linux-image-6.11.0-1010-lowlatencyUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-58-genericUpgrade linux-image-6.11.0-1009-awsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.11.0-1008-raspiUpgrade linux-image-6.8.0-1026-nvidia-lowlatencyUpgrade linux-image-oem-22.04cUpgrade linux-image-6.8.0-1026-oemUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-azureUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1023-gkeUpgrade linux-image-6.8.0-1024-oracle-64kUpgrade linux-image-awsUpgrade linux-image-gcp-64kUpgrade linux-image-6.8.0-1010-gkeopUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-oem-22.04aUpgrade linux-image-ibmUpgrade linux-image-6.11.0-1009-azure-fdeUpgrade linux-image-6.11.0-1015-oemUpgrade linux-image-6.8.0-1026-nvidia-64kUpgrade linux-image-6.8.0-58-generic-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-nvidiaUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-aws-lts-24.04 | Feb 20, 2025 | Nov 19, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub