CVE-2026-80588 (GCVE-0-2026-80588)

Vulnerability from cvelistv5 – Published: 2026-08-26 14:37 – Updated: 2026-08-27 05:02
VLAI
Title
mptcp: reclaim forward-allocated memory on RX path errors
Summary
In the Linux kernel, the following vulnerability has been resolved: mptcp: reclaim forward-allocated memory on RX path errors After commit 9db5b3cec4ec ("mptcp: borrow forward memory from subflow"), errors in the receive path prior to queueing skbs into the receive queue do not trigger forward-allocated memory reclaiming. Prevent forward memory from growing unboundedly in pathological drop scenarios by explicitly reclaiming memory when skbs are dropped.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: a84164847b1e0a106ebc46821e5d2f9b775c9dc8 , < 473f1a5ab2abc98dd9e74b95b9c23c66c47535cc (git)
Affected: 9db5b3cec4ec1c0cd3239689f5c8653d691a1754 , < 8277f48a06d3aa1441f6d0b6998ccc0360d30ed8 (git)
Affected: 9db5b3cec4ec1c0cd3239689f5c8653d691a1754 , < 41b49a8b914ec7dcb03eae93fb27f3c464078644 (git)
Affected: 6.18.35 , < 6.18.46 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 6.19
Unaffected: 0 , < 6.19 (semver)
Unaffected: 6.18.46 , ≤ 6.18.* (semver)
Unaffected: 7.1.10 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/mptcp/protocol.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "473f1a5ab2abc98dd9e74b95b9c23c66c47535cc",
              "status": "affected",
              "version": "a84164847b1e0a106ebc46821e5d2f9b775c9dc8",
              "versionType": "git"
            },
            {
              "lessThan": "8277f48a06d3aa1441f6d0b6998ccc0360d30ed8",
              "status": "affected",
              "version": "9db5b3cec4ec1c0cd3239689f5c8653d691a1754",
              "versionType": "git"
            },
            {
              "lessThan": "41b49a8b914ec7dcb03eae93fb27f3c464078644",
              "status": "affected",
              "version": "9db5b3cec4ec1c0cd3239689f5c8653d691a1754",
              "versionType": "git"
            },
            {
              "lessThan": "6.18.46",
              "status": "affected",
              "version": "6.18.35",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/mptcp/protocol.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.19"
            },
            {
              "lessThan": "6.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.46",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.46",
                  "versionStartIncluding": "6.18.35",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.10",
                  "versionStartIncluding": "6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmptcp: reclaim forward-allocated memory on RX path errors\n\nAfter commit 9db5b3cec4ec (\"mptcp: borrow forward memory from subflow\"),\nerrors in the receive path prior to queueing skbs into the receive\nqueue do not trigger forward-allocated memory reclaiming.\n\nPrevent forward memory from growing unboundedly in pathological drop\nscenarios by explicitly reclaiming memory when skbs are dropped."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.5,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - Remote TCP/MPTCP peers reach the bug on the established-connection RX datapath (tcp_rcv_established \u2192 subflow_data_ready \u2192 mptcp_data_ready \u2192 __mptcp_move_skbs_from_subflow \u2192 __mptcp_move_skb \u2192 mptcp_drop) when duplicate or out-of-window mapped data is dropped before skb_set_owner_r().\nAC:L - The attacker fully controls subflow packet contents and ordering on their MPTCP connection and can deterministically trigger drops (duplicate map_seq, OoO beyond rcv_wnd) on every crafted segment without races, rare sysctl state, or uncontrollable memory layout.\nPR:N - No local account or kernel capability is required on the victim; any remote peer that completes the TCP/MPTCP handshake on an IPPROTO_MPTCP socket (Android clients, MPTCP-enabled servers, curl --mptcp) can flood pathological RX drops without target credentials.\nUI:N - Exploitation needs only attacker-generated MPTCP/TCP traffic on an existing or attacker-initiated connection; no victim mount, file open, click, or other cooperative user action beyond normal network stack processing.\nS:U - Impact is unbounded sk_forward_alloc growth and kernel memory exhaustion on the affected host; it does not cross VM, container, IOMMU, or sandbox boundaries to another security authority.\nC:N - This is a forward-memory accounting leak on skb drop after mptcp_borrow_fwdmem(); skb data is freed and no use-after-free, out-of-bounds read, or other memory-corruption primitive exposes kernel contents to the attacker.\nI:N - The flaw only fails to reclaim borrowed forward allocation when dropping skbs; it does not corrupt, overwrite, or modify attacker-chosen memory and provides no write or code-execution primitive.\nA:H - Each pre-queue drop leaks roughly skb-\u003etruesize forward memory while bypassing the removed sk_rmem_schedule guard, so a remote peer can repeatedly trigger unbounded per-connection kernel memory growth and OOM denial of service, matching CNA precedent for repeatable network skb/memory leaks."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-27T05:02:09.335Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/473f1a5ab2abc98dd9e74b95b9c23c66c47535cc"
        },
        {
          "url": "https://git.kernel.org/stable/c/8277f48a06d3aa1441f6d0b6998ccc0360d30ed8"
        },
        {
          "url": "https://git.kernel.org/stable/c/41b49a8b914ec7dcb03eae93fb27f3c464078644"
        }
      ],
      "title": "mptcp: reclaim forward-allocated memory on RX path errors",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80588",
    "datePublished": "2026-08-26T14:37:42.685Z",
    "dateReserved": "2026-08-26T14:34:25.770Z",
    "dateUpdated": "2026-08-27T05:02:09.335Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-80588",
      "date": "2026-09-01",
      "epss": "0.00339",
      "percentile": "0.26605"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-80588\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-26T15:17:15.180\",\"lastModified\":\"2026-08-27T06:17:46.353\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nmptcp: reclaim forward-allocated memory on RX path errors\\n\\nAfter commit 9db5b3cec4ec (\\\"mptcp: borrow forward memory from subflow\\\"),\\nerrors in the receive path prior to queueing skbs into the receive\\nqueue do not trigger forward-allocated memory reclaiming.\\n\\nPrevent forward memory from growing unboundedly in pathological drop\\nscenarios by explicitly reclaiming memory when skbs are dropped.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/mptcp/protocol.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"a84164847b1e0a106ebc46821e5d2f9b775c9dc8\",\"lessThan\":\"473f1a5ab2abc98dd9e74b95b9c23c66c47535cc\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9db5b3cec4ec1c0cd3239689f5c8653d691a1754\",\"lessThan\":\"8277f48a06d3aa1441f6d0b6998ccc0360d30ed8\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9db5b3cec4ec1c0cd3239689f5c8653d691a1754\",\"lessThan\":\"41b49a8b914ec7dcb03eae93fb27f3c464078644\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"6.18.35\",\"lessThan\":\"6.18.46\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/mptcp/protocol.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.19\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.19\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.46\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.10\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":7.5,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":3.6}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/41b49a8b914ec7dcb03eae93fb27f3c464078644\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/473f1a5ab2abc98dd9e74b95b9c23c66c47535cc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8277f48a06d3aa1441f6d0b6998ccc0360d30ed8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-27T15:58:50+00:00",
      "cve": "CVE-2026-80588",
      "id": "CVE-2026-80588",
      "initial_release_date": "2026-08-26T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: mptcp: reclaim forward-allocated memory on RX path errors",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-80588.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…