In the Linux kernel, the following vulnerability has been resolved:
mptcp: do not queue data on closed subflows
Dipanjan reported a syzbot splat at close time:
WARNING: CPU: 1 PID: 10818 at net/ipv4/af_inet.c:153 inet_sock_destruct+0x6d0/0x8e0 net/ipv4/af_inet.c:153 Modules linked in: uio_ivshmem(OE) uio(E) CPU: 1 PID: 10818 Comm: kworker/1:16 Tainted: G OE 5.19.0-rc6-g2eae0556bb9d #2 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 Workqueue: events mptcp_worker RIP: 0010:inet_sock_destruct+0x6d0/0x8e0 net/ipv4/af_inet.c:153 Code: 21 02 00 00 41 8b 9c 24 28 02 00 00 e9 07 ff ff ff e8 34 4d 91 f9 89 ee 4c 89 e7 e8 4a 47 60 ff e9 a6 fc ff ff e8 20 4d 91 f9 <0f> 0b e9 84 fe ff ff e8 14 4d 91 f9 0f 0b e9 d4 fd ff ff e8 08 4d RSP: 0018:ffffc9001b35fa78 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 00000000002879d0 RCX: ffff8881326f3b00 RDX: 0000000000000000 RSI: ffff8881326f3b00 RDI: 0000000000000002 RBP: ffff888179662674 R08: ffffffff87e983a0 R09: 0000000000000000 R10: 0000000000000005 R11: 00000000000004ea R12: ffff888179662400 R13: ffff888179662428 R14: 0000000000000001 R15: ffff88817e38e258 FS: 0000000000000000(0000) GS:ffff8881f5f00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020007bc0 CR3: 0000000179592000 CR4: 0000000000150ee0 Call Trace: <TASK> __sk_destruct+0x4f/0x8e0 net/core/sock.c:2067 sk_destruct+0xbd/0xe0 net/core/sock.c:2112 __sk_free+0xef/0x3d0 net/core/sock.c:2123 sk_free+0x78/0xa0 net/core/sock.c:2134 sock_put include/net/sock.h:1927 [inline] __mptcp_close_ssk+0x50f/0x780 net/mptcp/protocol.c:2351 __mptcp_destroy_sock+0x332/0x760 net/mptcp/protocol.c:2828 mptcp_worker+0x5d2/0xc90 net/mptcp/protocol.c:2586 process_one_work+0x9cc/0x1650 kernel/workqueue.c:2289 worker_thread+0x623/0x1070 kernel/workqueue.c:2436 kthread+0x2e9/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302 </TASK>
The root cause of the problem is that an mptcp-level (re)transmit can race with mptcp_close() and the packet scheduler checks the subflow state before acquiring the socket lock: we can try to (re)transmit on an already closed ssk.
Fix the issue checking again the subflow socket status under the subflow socket lock protection. Additionally add the missing check for the fallback-to-tcp case.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade bpftoolUpgrade bpftool-debuginfoUpgrade kernelUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-5.10.240-238.966Upgrade kernel-toolsUpgrade python-perfUpgrade kernel-debuginfoUpgrade kernel-headersUpgrade perfUpgrade kernel-tools-debuginfoUpgrade perf-debuginfoUpgrade kernel-tools-develUpgrade python-perf-debuginfoUpgrade kernel-develUpgrade kernel-livepatch-5.15.189-131.211Upgrade kernel-debuginfo-common-aarch64 | May 20, 2026 | May 20, 2026 |
| Debian | — | Upgrade linux | Jun 20, 2025 | Jun 20, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Jun 18, 2025 |
| Ubuntu | — | Upgrade linux-image-5.15.0-1080-gkeopUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-gcp-5.15Upgrade linux-image-oem-20.04cUpgrade linux-image-lowlatencyUpgrade linux-image-fips-5.15Upgrade linux-image-5.15.0-1097-gcpUpgrade linux-image-generic-lpaeUpgrade linux-image-azure-fipsUpgrade linux-image-gcpUpgrade linux-image-5.15.0-163-lowlatency-64kUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-awsUpgrade linux-image-5.15.0-1101-azureUpgrade linux-image-5.15.0-1089-intel-iot-realtimeUpgrade linux-image-ibmUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-generic-64kUpgrade linux-image-5.15.0-1038-nvidia-tegra-igx-rtUpgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1049-nvidia-tegraUpgrade linux-image-5.15.0-1097-gcp-fipsUpgrade linux-image-virtualUpgrade linux-image-5.15.0-163-fipsUpgrade linux-image-5.15.0-1049-nvidia-tegra-rtUpgrade linux-image-5.15.0-1102-azureUpgrade linux-image-nvidiaUpgrade linux-image-oem-20.04bUpgrade linux-image-kvmUpgrade linux-image-5.15.0-1092-nvidiaUpgrade linux-image-oem-20.04dUpgrade linux-image-oracleUpgrade linux-image-5.15.0-1092-nvidia-lowlatencyUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-1097-aws-fipsUpgrade linux-image-5.15.0-1094-oracleUpgrade linux-image-5.15.0-1093-gkeUpgrade linux-image-5.15.0-163-generic-lpaeUpgrade linux-image-5.15.0-1089-kvmUpgrade linux-image-5.15.0-1096-realtimeUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-5.15.0-1091-raspiUpgrade linux-image-5.15.0-1097-aws-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-1061-xilinx-zynqmpUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-generic-64k-5.15Upgrade linux-image-5.15.0-163-genericUpgrade linux-image-aws-64k-5.15Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-azure-5.15Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-azure-cvmUpgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-1092-intel-iotgUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-intel-iotgUpgrade linux-image-fipsUpgrade linux-image-virtual-5.15Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-intelUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-raspiUpgrade linux-image-5.15.0-1101-azure-fipsUpgrade linux-image-gkeop-5.15Upgrade linux-image-genericUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-raspi-5.15Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-realtimeUpgrade linux-image-azureUpgrade linux-image-gkeopUpgrade linux-image-kvm-5.15Upgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-azure-fips-5.15Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-ibm-5.15Upgrade linux-image-oem-20.04Upgrade linux-image-aws-fipsUpgrade linux-image-azure-lts-22.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-aws-5.15Upgrade linux-image-lowlatency-5.15Upgrade linux-image-5.15.0-1091-ibmUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.15.0-1038-nvidia-tegra-igxUpgrade linux-image-nvidia-5.15Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-5.15.0-163-lowlatencyUpgrade linux-image-nvidia-tegraUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-realtime-5.15Upgrade linux-image-oracle-5.15Upgrade linux-image-5.15.0-1097-awsUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-gkeUpgrade linux-image-generic-5.15Upgrade linux-image-aws-fips-5.15Upgrade linux-image-5.15.0-163-generic-64kUpgrade linux-image-gcp-fips | Jun 26, 2025 | Jun 18, 2025 |
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