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 | e32d262c89e2b22cb0640223f953b548617ed8a6 < 4b7abdcb5ba832fafab679f0d998af39cbc99307 | affected |
| Linux | Linux | e32d262c89e2b22cb0640223f953b548617ed8a6 < b2dbcc1ed48b5ac070a41db4a52aade6823c4df0 | affected |
| Linux | Linux | e32d262c89e2b22cb0640223f953b548617ed8a6 < ce7e4ede01ed3e47a48c0f1ce1d87bf4864bee9f | affected |
| Linux | Linux | e32d262c89e2b22cb0640223f953b548617ed8a6 < 2b0f561f21b27c40c91ea4975268a06092bd7e9c | affected |
| Linux | Linux | fde99e972b8f88cebe619241d7aa43d288ef666a | affected |
| Linux | Linux | 12c1676d598e3b8dd92a033b623b792cc2ea1ec5 | affected |
| Linux | Linux | 35668f8ec84f6c944676e48ecc6bbc5fc8e6fe25 | affected |
| Linux | Linux | b8be15d1ae7ea4eedd547c3b3141f592fbddcd30 | affected |
| Linux | Linux | 8bfd391bde685df7289b928ce8876a3583be4bfb | affected |
| Linux | Linux | 5.10.228 < 5.11 | affected |
| Linux | Linux | 5.15.169 < 5.16 | affected |
| Linux | Linux | 6.1.113 < 6.2 | affected |
| Linux | Linux | 6.6.57 < 6.7 | affected |
| Linux | Linux | 6.11.4 < 6.12 | affected |
| Linux | Linux | 6.12 | affected |
| Linux | Linux | 0 < 6.12 | 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/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.