CVE-2026-97524
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
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
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | fde99e972b8f88cebe619241d7aa43d288ef666a < 6d669c740933124eae3df8cfc15995af9bcc6aba | affected |
| Linux | Linux | 12c1676d598e3b8dd92a033b623b792cc2ea1ec5 < 83a7dcdd2b1060484528da70a643125174d47e5a | affected |
| Linux | Linux | 35668f8ec84f6c944676e48ecc6bbc5fc8e6fe25 < a370e56024df0b07e3120c45a9773ae123819fd6 | affected |
| Linux | Linux | b8be15d1ae7ea4eedd547c3b3141f592fbddcd30 < 1962841387087970d75ba8b8d4c2aa2d45705e50 | affected |
| Linux | Linux | e32d262c89e2b22cb0640223f953b548617ed8a6 < 4b7abdcb5ba832fafab679f0d998af39cbc99307 | affected |
| Linux | Linux | e32d262c89e2b22cb0640223f953b548617ed8a6 < b2dbcc1ed48b5ac070a41db4a52aade6823c4df0 | affected |
| Linux | Linux | e32d262c89e2b22cb0640223f953b548617ed8a6 < ce7e4ede01ed3e47a48c0f1ce1d87bf4864bee9f | affected |
| Linux | Linux | e32d262c89e2b22cb0640223f953b548617ed8a6 < 2b0f561f21b27c40c91ea4975268a06092bd7e9c | affected |
| Linux | Linux | 8bfd391bde685df7289b928ce8876a3583be4bfb | affected |
| Linux | Linux | 5.10.228 < 5.10.271 | affected |
| Linux | Linux | 5.15.169 < 5.15.222 | affected |
| Linux | Linux | 6.1.113 < 6.1.189 | affected |
| Linux | Linux | 6.6.57 < 6.6.158 | affected |
| Linux | Linux | 6.11.4 < 6.12 | affected |
| Linux | Linux | 6.12 | affected |
| Linux | Linux | 0 < 6.12 | unaffected |
| Linux | Linux | 5.10.271 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.222 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.189 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.158 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.111 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.53 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.7 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc4 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/6d669c740933124eae3df8cfc15995af9bcc6aba
- https://git.kernel.org/stable/c/83a7dcdd2b1060484528da70a643125174d47e5a
- https://git.kernel.org/stable/c/a370e56024df0b07e3120c45a9773ae123819fd6
- https://git.kernel.org/stable/c/1962841387087970d75ba8b8d4c2aa2d45705e50
- https://git.kernel.org/stable/c/4b7abdcb5ba832fafab679f0d998af39cbc99307
- https://git.kernel.org/stable/c/b2dbcc1ed48b5ac070a41db4a52aade6823c4df0
- https://git.kernel.org/stable/c/ce7e4ede01ed3e47a48c0f1ce1d87bf4864bee9f
- https://git.kernel.org/stable/c/2b0f561f21b27c40c91ea4975268a06092bd7e9c
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.