---
id: CVE-2026-80585
title: 'mptcp: fastopen: only mark MPTFO subflows with SYN data'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  mptcp: fastopen: only mark MPTFO subflows with SYN data

  Passive TCP Fast Open accepts a valid-cookie SYN even when it carries
  no data. In that case the child socket's …
severity: critical
cvss: 9.4
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 36b122baf6a8bd46b4a591f12f4ed17b22257408 <
    f75f174edc865738522e514d042cf5627f084859
  - >-
    Linux >= 36b122baf6a8bd46b4a591f12f4ed17b22257408 <
    fca7e444c04689fe4cc6b56f2725f804a4bb1ef9
  - >-
    Linux >= 36b122baf6a8bd46b4a591f12f4ed17b22257408 <
    75e564b2ced1cc3d9a8904c7d2d2bb448fffb8b5
  - >-
    Linux >= 36b122baf6a8bd46b4a591f12f4ed17b22257408 <
    72b4a0c51a4b550d40301d60a366b429b8c8e78d
  - >-
    Linux >= 36b122baf6a8bd46b4a591f12f4ed17b22257408 <
    e00b63056fb4f261455b3e5df5268a1f8ce47a87
  - Linux 6.2
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-10-16T19:17:56.710913Z'
published: '2026-08-26'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T19:26:28.485Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-80585'
references:
  - url: 'https://git.kernel.org/stable/c/f75f174edc865738522e514d042cf5627f084859'
  - url: 'https://git.kernel.org/stable/c/fca7e444c04689fe4cc6b56f2725f804a4bb1ef9'
  - url: 'https://git.kernel.org/stable/c/75e564b2ced1cc3d9a8904c7d2d2bb448fffb8b5'
  - url: 'https://git.kernel.org/stable/c/72b4a0c51a4b550d40301d60a366b429b8c8e78d'
  - url: 'https://git.kernel.org/stable/c/e00b63056fb4f261455b3e5df5268a1f8ce47a87'
tags:
  - cve.org
epss: 0.00313
epssPercentile: 0.2262
ingestedAt: '2026-10-16T19:46:24.316Z'
---

## Overview

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

mptcp: fastopen: only mark MPTFO subflows with SYN data

Passive TCP Fast Open accepts a valid-cookie SYN even when it carries
no data. In that case the child socket's receive queue is intentionally
left empty.

mptcp_fastopen_subflow_synack_set_params() set is_mptfo before checking
for queued SYN data. That made data-less TFO SYNs hit a WARN and, if
the warning was non-fatal, left stale MPTFO state behind. The stale
flag could later trigger a state-confusion bug in
check_fully_established().

Only mark the subflow as MPTFO after confirming that an SKB was queued.
Return quietly when the receive queue is empty.

Note that mptcp_subflow_context's is_mptfo field is now not just about
subflows where the TFO was present, but about MPTFO subflow that
consumed SYN data. Only having a valid cookie but not carrying data is
not really "doing TFO".

## Affected

- `Linux >= 36b122baf6a8bd46b4a591f12f4ed17b22257408 < f75f174edc865738522e514d042cf5627f084859`
- `Linux >= 36b122baf6a8bd46b4a591f12f4ed17b22257408 < fca7e444c04689fe4cc6b56f2725f804a4bb1ef9`
- `Linux >= 36b122baf6a8bd46b4a591f12f4ed17b22257408 < 75e564b2ced1cc3d9a8904c7d2d2bb448fffb8b5`
- `Linux >= 36b122baf6a8bd46b4a591f12f4ed17b22257408 < 72b4a0c51a4b550d40301d60a366b429b8c8e78d`
- `Linux >= 36b122baf6a8bd46b4a591f12f4ed17b22257408 < e00b63056fb4f261455b3e5df5268a1f8ce47a87`
- `Linux 6.2`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
