Skip to content
Heist/ feed
Back to feed
High

vLLM through 0.29.0 GPU KV Cache Leak via Mooncake Transfer ID Collision

Type: advisorySources: OSV

vLLM Mooncake connector through 0.29.0 fails to properly manage GPU KV cache block ownership when concurrent child requests share a single transfer ID in prefill/decode disaggregated deployments. Attackers can trigger GPU memory exhaustion by submitting completion requests with multiple prompts, causing orphaned KV cache blocks to accumulate until process restart and eventually preventing legitimate requests from executing.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-94627
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 04:32 UTC · Revision 1

Source evidence

vLLM through 0.29.0 GPU KV Cache Leak via Mooncake Transfer ID Collision

core-osv · Original source

Published 21 Sept 2026, 22:04 UTC

vLLM Mooncake connector through 0.29.0 fails to properly manage GPU KV cache block ownership when concurrent child requests share a single transfer ID in prefill/decode disaggregated deployments. Attackers can trigger GPU memory exhaustion by submitting completion requests with multiple prompts, causing orphaned KV cache blocks to accumulate until process restart and eventually preventing legitimate requests from executing.

osv:CVE-2026-94627
Complete source record
{
  "id": "5d1dffb2cad46febe2efa5b222c5804bde36dbef28de84a1958cd667220f908c",
  "url": "https://osv.dev/vulnerability/CVE-2026-94627",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "vLLM through 0.29.0 GPU KV Cache Leak via Mooncake Transfer ID Collision",
    "summary": "vLLM Mooncake connector through 0.29.0 fails to properly manage GPU KV cache block ownership when concurrent child requests share a single transfer ID in prefill/decode disaggregated deployments. Attackers can trigger GPU memory exhaustion by submitting completion requests with multiple prompts, causing orphaned KV cache blocks to accumulate until process restart and eventually preventing legitimate requests from executing.",
    "evidence": "osv:CVE-2026-94627",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-94627",
      "aliases": [
        "CVE-2026-94627"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/vllm-project/vllm",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "98dff2a81d747d1dba01a47f939f48c3526d4206"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "0.29.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "cpe": "cpe:2.3:a:vllm:vllm:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "0.29.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.29.0",
            "v0.29.0rc6",
            "v0.29.0rc5",
            "v0.29.0rc4",
            "v0.29.0rc3",
            "v0.29.0rc2",
            "v0.29.0rc1",
            "v0.28.1rc0",
            "v0.27.2rc0",
            "v0.26.1rc0",
            "v0.25.0",
            "v0.23.1rc0",
            "v0.22.1rc0",
            "v0.21.1rc0",
            "v0.20.2rc0",
            "v0.20.1rc0",
            "v0.19.2rc0",
            "v0.19.1rc0",
            "v0.18.2rc0",
            "v0.18.1rc0",
            "v0.17.2rc0",
            "v0.18.0rc0",
            "v0.17.1rc0",
            "v0.17.0rc0",
            "v0.16.0rc1",
            "v0.15.2rc0",
            "v0.16.0rc0",
            "v0.15.0rc1",
            "v0.14.0rc1",
            "v0.14.0rc0",
            "v0.13.0rc1",
            "v0.11.1",
            "v0.11.1rc6",
            "v0.11.1rc5",
            "v0.11.1rc4",
            "v0.11.1rc3",
            "v0.11.1rc2",
            "v0.11.1rc1",
            "v0.11.1rc0",
            "v0.11.0rc1",
            "v0.10.2rc2",
            "v0.10.2rc1",
            "v0.10.1rc1",
            "v0.10.0rc2",
            "v0.10.0",
            "v0.10.0rc1",
            "v0.9.2rc1",
            "v0.9.1rc2",
            "v0.9.1",
            "v0.9.1rc1",
            "v0.9.0",
            "v0.8.4",
            "v0.8.3rc1",
            "v0.8.2",
            "v0.8.1",
            "v0.8.0rc2",
            "v0.8.0rc1",
            "v0.7.3",
            "v0.7.2",
            "v0.7.1",
            "v0.7.0",
            "v0.6.6.post1",
            "v0.6.6",
            "v0.6.5",
            "v0.6.4.post1",
            "v0.6.4",
            "v0.6.3.post1",
            "v0.6.3",
            "v0.6.2",
            "v0.6.1.post2",
            "v0.6.1.post1",
            "v0.6.1",
            "v0.6.0",
            "v0.5.5",
            "v0.5.4",
            "v0.5.3.post1",
            "v0.5.3",
            "v0.5.2",
            "v0.5.1",
            "v0.5.0.post1",
            "v0.5.0",
            "v0.4.3",
            "v0.4.2",
            "v0.4.1",
            "v0.4.0.post1",
            "v0.4.0",
            "v0.3.3",
            "v0.3.2",
            "v0.3.1",
            "v0.3.0",
            "v0.2.7",
            "v0.2.6",
            "v0.2.5",
            "v0.2.4",
            "v0.2.3",
            "v0.2.2",
            "v0.2.1",
            "v0.2.0",
            "v0.1.7",
            "v0.1.6",
            "v0.1.5",
            "v0.1.4",
            "v0.1.3",
            "v0.1.2",
            "v0.1.1",
            "v0.1.0",
            "submission"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-94627.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:25.607422468Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/94xxx/CVE-2026-94627.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-94627",
        "https://www.vulncheck.com/advisories/vllm-through-0.29.0-gpu-kv-cache-leak-via-mooncake-transfer-id-collision",
        "https://github.com/vllm-project/vllm/pull/49796",
        "https://github.com/vllm-project/vllm",
        "https://github.com/vllm-project/vllm/blob/v0.29.0/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py#L1978-L1989"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-401"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/94xxx/CVE-2026-94627.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-94627",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 492481,
  "published_at": "2026-09-21T22:04:16.559+00:00"
}