CVE-2026-97524

Summary

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

mptcp: avoid unneeded actions on subflow reset

Once in a blue moon, the mptcp receive path can recursively call mptcp_data_ready() via state change under unlucky error conditions, and then try to hold the data lock again.

Break the recursion loop explicitly checking for the exceptional condition.

Add a new flag instead of using an existing one like 'closing', to exit early in subflow_state_change(), and explicitly flush the RX queue at reset time.

This avoids unneeded processing to check for available data – calling get_mapping_status() and more on a dying subflow – but also in error reporting and worker scheduling.

Note that we must consume the currently peeked skb before invoking mptcp_dss_corruption to avoid consuming it again after the eventual reset has freed it.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxfde99e972b8f88cebe619241d7aa43d288ef666a < 6d669c740933124eae3df8cfc15995af9bcc6abaaffected
LinuxLinux12c1676d598e3b8dd92a033b623b792cc2ea1ec5 < 83a7dcdd2b1060484528da70a643125174d47e5aaffected
LinuxLinux35668f8ec84f6c944676e48ecc6bbc5fc8e6fe25 < a370e56024df0b07e3120c45a9773ae123819fd6affected
LinuxLinuxb8be15d1ae7ea4eedd547c3b3141f592fbddcd30 < 1962841387087970d75ba8b8d4c2aa2d45705e50affected
LinuxLinuxe32d262c89e2b22cb0640223f953b548617ed8a6 < 4b7abdcb5ba832fafab679f0d998af39cbc99307affected
LinuxLinuxe32d262c89e2b22cb0640223f953b548617ed8a6 < b2dbcc1ed48b5ac070a41db4a52aade6823c4df0affected
LinuxLinuxe32d262c89e2b22cb0640223f953b548617ed8a6 < ce7e4ede01ed3e47a48c0f1ce1d87bf4864bee9faffected
LinuxLinuxe32d262c89e2b22cb0640223f953b548617ed8a6 < 2b0f561f21b27c40c91ea4975268a06092bd7e9caffected
LinuxLinux8bfd391bde685df7289b928ce8876a3583be4bfbaffected
LinuxLinux5.10.228 < 5.10.271affected
LinuxLinux5.15.169 < 5.15.222affected
LinuxLinux6.1.113 < 6.1.189affected
LinuxLinux6.6.57 < 6.6.158affected
LinuxLinux6.11.4 < 6.12affected
LinuxLinux6.12affected
LinuxLinux0 < 6.12unaffected
LinuxLinux5.10.271 <= 5.10.*unaffected
LinuxLinux5.15.222 <= 5.15.*unaffected
LinuxLinux6.1.189 <= 6.1.*unaffected
LinuxLinux6.6.158 <= 6.6.*unaffected
LinuxLinux6.12.111 <= 6.12.*unaffected
LinuxLinux6.18.53 <= 6.18.*unaffected
LinuxLinux7.2.7 <= 7.2.*unaffected
LinuxLinux7.3-rc4 <= *unaffected

Weaknesses

References