Summary
CVE-2026-94624 is a denial-of-service vulnerability in vLLM’s peer-to-peer (P2P) KV-cache offloading feature. When a vLLM deployment uses the OffloadingConnector with a TieringOffloadingSpec and a peer-to-peer secondary tier, an unauthenticated remote attacker can submit crafted kv_transfer_params values to exhaust the engine’s ZeroMQ socket resources, crashing the inference engine (EngineCore) and halting all inference for the deployment. The issue affects vLLM through version 0.29.0 and carries a CVSS v4.0 base score of 8.7 (High).
Technical details
- Root cause: vLLM’s P2P KV-offload session manager creates a new peer session — and 3 associated ZeroMQ sockets (DEALER, monitor, and PAIR) — for every distinct remote host/port pair supplied in
kv_transfer_params, without capping the number of sessions or reaping unreachable/idle ones. - Trigger condition: An attacker submits inference requests containing
kv_transfer_paramswith arbitrary, non-listening remote host and port values, causing the server to open sockets for peers that never complete a handshake. - Attack vector: Network-based, unauthenticated, no user interaction required (AV:N/AC:L/PR:N/UI:N). No special privileges are needed — any client able to reach the OpenAI-compatible inference API can trigger the condition.
- Impact: Each unreachable peer consumes ZMQ sockets that are never released. Roughly 340 such peer sessions exhaust the ZMQ context’s
MAX_SOCKETSlimit (1023), producing an uncaughtZMQErrorthat crashes EngineCore and stops all inference processing for the deployment — a full availability impact with no confidentiality or integrity loss (CWE-770: Allocation of Resources Without Limits or Throttling).
Affected software
- vLLM (vllm-project/vllm), all versions through 0.29.0, when configured with
OffloadingConnectorusing aTieringOffloadingSpecand a peer-to-peer (P2P) secondary offload tier.
Severity
- CVSS v4.0: 8.7 (High) —
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 - CVSS v3.1: 7.5 (High) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Mitigation and recommended actions
- Immediate: Upgrade to a vLLM release that incorporates the fix tracked in GitHub Security Advisory GHSA-frvg-qw88-hww9 (patch developed in pull request #51504), which introduces a session capacity limit, a handshake deadline, idle-session eviction, and an error boundary around peer-session creation. Deployments should track vLLM release notes and apply the first version after 0.29.0 that includes this fix.
- If no patch is available yet:
- Disable or restrict use of the P2P KV-offload tiering feature (
OffloadingConnectorwithTieringOffloadingSpecin P2P mode) on internet-facing or otherwise untrusted-client deployments until patched. - Restrict network access to the vLLM inference API to trusted clients only (e.g., via network segmentation, authentication proxy, or allow-listing) so that untrusted parties cannot submit arbitrary
kv_transfer_params. - Monitor EngineCore process health and ZeroMQ socket counts, and configure automatic restart/alerting on EngineCore crashes to reduce downtime from exploitation attempts.
- Disable or restrict use of the P2P KV-offload tiering feature (

