Skip to content
Heist/ feed
Back to feed
HighFix available

xprtrdma: Repost Receive buffers for malformed replies

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: xprtrdma: Repost Receive buffers for malformed replies rpcrdma_wc_receive() decrements the transport's Receive count for every completion before it dispatches a successful Receive to rpcrdma_reply_handler(). The handler must post a replacement Receive WR before returning unless ownership of the rep has moved elsewhere, as on the backchannel path. Commit 2ae50ad68cd7 ("xprtrdma: Close window between waking RPC senders and posting Receives") moved the Receive refill out of rpcrdma_wc_receive(), where it had run ahead of every reply, into rpcrdma_reply_handler() so that the responder's credit grant could be parsed before reposting. The bad-version and short-reply exits never reach that refill: they recycle the rep and return without calling rpcrdma_post_recvs(). A remote peer can therefore drain the client's posted Receive queue by sending a sustained stream of replies that are shorter than the fixed transport header or that carry an unrecognized RPC/RDMA version. Each such reply consumes one posted Receive without replacing it. Once the queue empties, the peer's next Send finds no posted Receive and the transport stalls until reconnect. Route both malformed-reply exits through the shared repost tail after recycling the rep, refilling against buf->rb_credits, the most recent accepted credit grant. Neither exit updates the congestion window, so RPCs admitted under the previous grant remain in flight awaiting repl

Products
Kernel
Affected versions
Not specified
Fixed versions
6.1.178, 6.12.97, 6.18.40, 6.6.145, 7.1.5
CVEs
CVE-2026-72464
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 23:07 UTC · Revision 1

Source evidence

xprtrdma: Repost Receive buffers for malformed replies

core-osv · Original source

Published 15 Aug 2026, 05:57 UTC

In the Linux kernel, the following vulnerability has been resolved: xprtrdma: Repost Receive buffers for malformed replies rpcrdma_wc_receive() decrements the transport's Receive count for every completion before it dispatches a successful Receive to rpcrdma_reply_handler(). The handler must post a replacement Receive WR before returning unless ownership of the rep has moved elsewhere, as on the backchannel path. Commit 2ae50ad68cd7 ("xprtrdma: Close window between waking RPC senders and posting Receives") moved the Receive refill out of rpcrdma_wc_receive(), where it had run ahead of every reply, into rpcrdma_reply_handler() so that the responder's credit grant could be parsed before reposting. The bad-version and short-reply exits never reach that refill: they recycle the rep and return without calling rpcrdma_post_recvs(). A remote peer can therefore drain the client's posted Receive queue by sending a sustained stream of replies that are shorter than the fixed transport header or that carry an unrecognized RPC/RDMA version. Each such reply consumes one posted Receive without replacing it. Once the queue empties, the peer's next Send finds no posted Receive and the transport stalls until reconnect. Route both malformed-reply exits through the shared repost tail after recycling the rep, refilling against buf->rb_credits, the most recent accepted credit grant. Neither exit updates the congestion window, so RPCs admitted under the previous grant remain in flight awaiting repl

osv:CVE-2026-72464

Kernel

Fixed versions: 6.1.178, 6.6.145, 6.12.97, 6.18.40, 7.1.5

Complete source record
{
  "id": "fd42c9b5bd35db2b975a744fc0da7e65c320c2ba966c7b052f1a8ab9eee19506",
  "url": "https://osv.dev/vulnerability/CVE-2026-72464",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "xprtrdma: Repost Receive buffers for malformed replies",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: xprtrdma: Repost Receive buffers for malformed replies rpcrdma_wc_receive() decrements the transport's Receive count for every completion before it dispatches a successful Receive to rpcrdma_reply_handler(). The handler must post a replacement Receive WR before returning unless ownership of the rep has moved elsewhere, as on the backchannel path. Commit 2ae50ad68cd7 (\"xprtrdma: Close window between waking RPC senders and posting Receives\") moved the Receive refill out of rpcrdma_wc_receive(), where it had run ahead of every reply, into rpcrdma_reply_handler() so that the responder's credit grant could be parsed before reposting. The bad-version and short-reply exits never reach that refill: they recycle the rep and return without calling rpcrdma_post_recvs(). A remote peer can therefore drain the client's posted Receive queue by sending a sustained stream of replies that are shorter than the fixed transport header or that carry an unrecognized RPC/RDMA version. Each such reply consumes one posted Receive without replacing it. Once the queue empties, the peer's next Send finds no posted Receive and the transport stalls until reconnect. Route both malformed-reply exits through the shared repost tail after recycling the rep, refilling against buf->rb_credits, the most recent accepted credit grant. Neither exit updates the congestion window, so RPCs admitted under the previous grant remain in flight awaiting repl",
    "evidence": "osv:CVE-2026-72464",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.1.178",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.145",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.12.97",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.40",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.1.5",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-72464",
      "aliases": [
        "CVE-2026-72464"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "2ae50ad68cd79224198b525f7bd645c9da98b6ff"
                },
                {
                  "fixed": "ef6fb8a5c521f1a07f85202d13e8f2898f247362"
                },
                {
                  "fixed": "4322fd9645ee769ad29ce5caea74a1cd9b17269d"
                },
                {
                  "fixed": "19fae02b272ee4bcdfb5db57f402d28f1697167a"
                },
                {
                  "fixed": "007b4da2f38dcc16a13265416f4ca9f179bab610"
                },
                {
                  "fixed": "d7c531ab477ae94fd03771d707fd29c787408039"
                },
                {
                  "fixed": "abc011ddaf1617e3e82d8a1e87daa7ddbfb9bac5"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5.4.13"
                },
                {
                  "fixed": "5.5"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "3791c5982ba1eebf2900ee7ca7b9a89619c26d54"
                }
              ]
            }
          ],
          "versions": [
            "v5.4.302",
            "v5.4.301",
            "v5.4.300",
            "v5.4.299",
            "v5.4.298",
            "v5.4.297",
            "v5.4.296",
            "v5.4.295",
            "v5.4.294",
            "v5.4.293",
            "v5.4.292",
            "v5.4.291",
            "v5.4.290",
            "v5.4.289",
            "v5.4.288",
            "v5.4.287",
            "v5.4.286",
            "v5.4.285",
            "v5.4.284",
            "v5.4.283",
            "v5.4.282",
            "v5.4.281",
            "v5.4.280",
            "v5.4.279",
            "v5.4.278",
            "v5.4.277",
            "v5.4.276",
            "v5.4.275",
            "v5.4.274",
            "v5.4.273",
            "v5.4.272",
            "v5.4.271",
            "v5.4.270",
            "v5.4.269",
            "v5.4.268",
            "v5.4.267",
            "v5.4.266",
            "v5.4.265",
            "v5.4.264",
            "v5.4.263",
            "v5.4.262",
            "v5.4.261",
            "v5.4.260",
            "v5.4.259",
            "v5.4.258",
            "v5.4.257",
            "v5.4.256",
            "v5.4.255",
            "v5.4.254",
            "v5.4.253",
            "v5.4.252",
            "v5.4.251",
            "v5.4.250",
            "v5.4.249",
            "v5.4.248",
            "v5.4.247",
            "v5.4.246",
            "v5.4.245",
            "v5.4.244",
            "v5.4.243",
            "v5.4.242",
            "v5.4.241",
            "v5.4.240",
            "v5.4.239",
            "v5.4.238",
            "v5.4.237",
            "v5.4.236",
            "v5.4.235",
            "v5.4.234",
            "v5.4.233",
            "v5.4.232",
            "v5.4.231",
            "v5.4.230",
            "v5.4.229",
            "v5.4.228",
            "v5.4.227",
            "v5.4.226",
            "v5.4.225",
            "v5.4.224",
            "v5.4.223",
            "v5.4.222",
            "v5.4.221",
            "v5.4.220",
            "v5.4.219",
            "v5.4.218",
            "v5.4.217",
            "v5.4.216",
            "v5.4.215",
            "v5.4.214",
            "v5.4.213",
            "v5.4.212",
            "v5.4.211",
            "v5.4.210",
            "v5.4.209",
            "v5.4.208",
            "v5.4.207",
            "v5.4.206",
            "v5.4.205",
            "v5.4.204",
            "v5.4.203",
            "v5.4.202",
            "v5.4.201",
            "v5.4.200",
            "v5.4.199",
            "v5.4.198",
            "v5.4.197",
            "v5.4.196",
            "v5.4.195",
            "v5.4.194",
            "v5.4.193",
            "v5.4.192",
            "v5.4.191",
            "v5.4.190",
            "v5.4.189",
            "v5.4.188",
            "v5.4.187",
            "v5.4.186",
            "v5.4.185",
            "v5.4.184",
            "v5.4.183",
            "v5.4.182",
            "v5.4.181",
            "v5.4.180",
            "v5.4.179",
            "v5.4.178",
            "v5.4.177",
            "v5.4.176",
            "v5.4.175",
            "v5.4.174",
            "v5.4.173",
            "v5.4.172",
            "v5.4.171",
            "v5.4.170",
            "v5.4.169",
            "v5.4.168",
            "v5.4.167",
            "v5.4.166",
            "v5.4.165",
            "v5.4.164",
            "v5.4.163",
            "v5.4.162",
            "v5.4.161",
            "v5.4.160",
            "v5.4.159",
            "v5.4.158",
            "v5.4.157",
            "v5.4.156",
            "v5.4.155",
            "v5.4.154",
            "v5.4.153",
            "v5.4.152",
            "v5.4.151",
            "v5.4.150",
            "v5.4.149",
            "v5.4.148",
            "v5.4.147",
            "v5.4.146",
            "v5.4.145",
            "v5.4.144",
            "v5.4.143",
            "v5.4.142",
            "v5.4.141",
            "v5.4.140",
            "v5.4.139",
            "v5.4.138",
            "v5.4.137",
            "v5.4.136",
            "v5.4.135",
            "v5.4.134",
            "v5.4.133",
            "v5.4.132",
            "v5.4.131",
            "v5.4.130",
            "v5.4.129",
            "v5.4.128",
            "v5.4.127",
            "v5.4.126",
            "v5.4.125",
            "v5.4.124",
            "v5.4.123",
            "v5.4.122",
            "v5.4.121",
            "v5.4.120",
            "v5.4.119",
            "v5.4.118",
            "v5.4.117",
            "v5.4.116",
            "v5.4.115",
            "v5.4.114",
            "v5.4.113",
            "v5.4.112",
            "v5.4.111",
            "v5.4.110",
            "v5.4.109",
            "v5.4.108",
            "v5.4.107",
            "v5.4.106",
            "v5.4.105",
            "v5.4.104",
            "v5.4.103",
            "v5.4.102",
            "v5.4.101",
            "v5.4.100",
            "v5.4.99",
            "v5.4.98",
            "v5.4.97",
            "v5.4.96",
            "v5.4.95",
            "v5.4.94",
            "v5.4.93",
            "v5.4.92",
            "v5.4.91",
            "v5.4.90",
            "v5.4.89",
            "v5.4.88",
            "v5.4.87",
            "v5.4.86",
            "v5.4.85",
            "v5.4.84",
            "v5.4.83",
            "v5.4.82",
            "v5.4.81",
            "v5.4.80",
            "v5.4.79",
            "v5.4.78",
            "v5.4.77",
            "v5.4.76",
            "v5.4.75",
            "v5.4.74",
            "v5.4.73",
            "v5.4.72",
            "v5.4.71",
            "v5.4.70",
            "v5.4.69",
            "v5.4.68",
            "v5.4.67",
            "v5.4.66",
            "v5.4.65",
            "v5.4.64",
            "v5.4.63",
            "v5.4.62",
            "v5.4.61",
            "v5.4.60",
            "v5.4.59",
            "v5.4.58",
            "v5.4.57",
            "v5.4.56",
            "v5.4.55",
            "v5.4.54",
            "v5.4.53",
            "v5.4.52",
            "v5.4.51",
            "v5.4.50",
            "v5.4.49",
            "v5.4.48",
            "v5.4.47",
            "v5.4.46",
            "v5.4.45",
            "v5.4.44",
            "v5.4.43",
            "v5.4.42",
            "v5.4.41",
            "v5.4.40",
            "v5.4.39",
            "v5.4.38",
            "v5.4.37",
            "v5.4.36",
            "v5.4.35",
            "v5.4.34",
            "v5.4.33",
            "v5.4.32",
            "v5.4.31",
            "v5.4.30",
            "v5.4.29",
            "v5.4.28",
            "v5.4.27",
            "v5.4.26",
            "v5.4.25",
            "v5.4.24",
            "v5.4.23",
            "v5.4.22",
            "v5.4.21",
            "v5.4.20",
            "v5.4.19",
            "v5.4.18",
            "v5.4.17",
            "v5.4.16",
            "v5.4.15",
            "v5.4.14",
            "v5.4.13"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72464.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.5.0"
                },
                {
                  "fixed": "6.1.178"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.145"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.12.97"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.13.0"
                },
                {
                  "fixed": "6.18.40"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "7.1.5"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72464.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:24.181381405Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/007b4da2f38dcc16a13265416f4ca9f179bab610",
        "https://git.kernel.org/stable/c/19fae02b272ee4bcdfb5db57f402d28f1697167a",
        "https://git.kernel.org/stable/c/4322fd9645ee769ad29ce5caea74a1cd9b17269d",
        "https://git.kernel.org/stable/c/abc011ddaf1617e3e82d8a1e87daa7ddbfb9bac5",
        "https://git.kernel.org/stable/c/d7c531ab477ae94fd03771d707fd29c787408039",
        "https://git.kernel.org/stable/c/ef6fb8a5c521f1a07f85202d13e8f2898f247362",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72464.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-72464",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72464.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-72464",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 490745,
  "published_at": "2026-08-15T05:57:08.08+00:00"
}