Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach handshake RPC port
-
DeliverySend Metadata request
-
ExploitWithhold reading of reply
-
ExecutionBlock writeFully() on listener thread
-
ImpactDeny all subsequent handshakes
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires network reachability to Mooncake's P2P handshake RPC port (the SocketHandShakePlugin listener). The attacker sends a Metadata request and then refuses to read the server's reply, exploiting the design in which a single listener thread performs a blocking writeFully() - so one slow/non-reading client stalls that thread and blocks all handshakes, metadata fetches, notify and probe operations. No authentication is required (PR:N) and no user interaction is needed (UI:N), but the practical limiting factors are: the handshake RPC port must be exposed to untrusted clients (deployments that bind it to a trusted internal network/loopback are not remotely exploitable), and the attack reduces to availability loss only - it grants no code execution, data disclosure, or integrity impact. The AC:H/AT:P metrics indicate the stall depends on hitting the blocking-write state rather than a single guaranteed trigger. |
| Impact | This is a genuine availability-focused issue but not a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N) scores 8.2 (High) driven entirely by VA:H - a complete denial of service of the handshake daemon - with zero confidentiality or integrity impact (VC:N/VI:N/VA:H). The unauthenticated network reachability (PR:N, AV:N) raises concern, but AC:H and AT:P signal that reliable exploitation carries meaningful conditions: the attacker must successfully stall the single listener thread inside writeFully(), which implies some timing/race or resource-state dependency rather than a trivial one-shot crash. There is no CISA KEV listing and no public exploit identified at time of analysis, so the 8.2 is a theoretical-severity figure, not evidence of real-world weaponization. Signals are internally consistent (network DoS, no data impact), so there are no contradictions to flag; the main caveat is that the attack-complexity/requirement metrics indicate this is less push-button than the headline score suggests. Priority should be driven by whether Mooncake's handshake RPC port is network-exposed in a given deployment - if it is reachable by untrusted clients, treat as a real availability risk to the LLM inference/KV-cache fabric. |
| Exploit ScenarioDerived | An attacker with network reach to a Mooncake transfer-engine node's handshake RPC port opens a connection and sends a Metadata request but then deliberately never reads the reply, causing SocketHandShakePlugin's single listener thread to block indefinitely in writeFully(). With that lone thread stalled, all subsequent handshakes, metadata fetches, notify and probe requests are broken, degrading or halting the distributed KV-cache transfer service. No public exploit code is identified, but the technique is simple to reproduce for anyone who can reach the port. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 01, 2026
Denial of service in Mooncake Transfer Engine through 0.3.13.post1 allows unauthenticated remote attackers to permanently stall the P2P handshake daemon by sending a Metadata request to the handshake RPC port and then never reading the server's reply, which blocks the single listener thread inside writeFully(). This prevents all subsequent handshakes, metadata fetches, notify, and probe operations, causing an availability loss only (no code execution or data compromise). No public exploit identified at time of analysis; exploitation requires network reachability to the exposed handshake RPC port, and deployments that bind it to a trusted internal network or loopback are not remotely exploitable. The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N) and independent assessment agree the stall depends on hitting the blocking-write state, so it is a genuine but not automatic denial of service.
RemediationAI
No vendor-released patch identified at time of analysis; the issue is tracked upstream at https://github.com/kvcache-ai/Mooncake/issues/4443. Until a fixed version is released, the most effective compensating control is to restrict network access to the handshake RPC port: bind the SocketHandShakePlugin listener to a trusted internal interface or loopback only, and enforce firewall rules so that only known cluster peers can reach the port. This eliminates remote exploitation from untrusted networks but requires accurate peer-IP allowlisting and may complicate dynamic cluster scaling. Additionally, monitor for stalled handshakes or incomplete writeFully() completions that could indicate an ongoing attack; restarting the affected service will temporarily clear the blocked thread but will not prevent recurrence. A code-level fix would need to introduce non-blocking I/O or write timeouts on the handshake thread, but no such patch is available in the provided data. Apply vendor updates as soon as they become available via the Mooncake repository.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Mooncake is a KV cache transfer engine (kvcache-ai/Mooncake) used for efficient data movement between distributed components. The vulnerable component is the transfer metadata plugin, specifically SocketHandShakePlugin, which uses a single listener thread to handle the P2P handshake RPC protocol. When a client sends a Metadata request, the server responds with a synchronous, blocking writeFully() call (see transfer_metadata_plugin.cpp lines 730-803). Because the thread blocks until the entire response is written to the socket and no write timeout or non-blocking I/O is implemented, a client that never reads the reply can hold that thread indefinitely. This is a classic CWE-400 uncontrolled resource consumption: the single thread is a shared resource, and one malicious or misbehaving client exhausts it, causing all subsequent handshakes, metadata fetches, notify, and probe requests to fail. The CVSS 4.0 vector scores AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N, reflecting that the attack requires network access to the handshake port but no authentication or user interaction, and that the attacker must achieve the blocking-write state (AT:P) rather than triggering it on every attempt.
Know when Mooncake gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Remote unauthenticated (AV:N/PR:N/UI:N) but depends on stalling a blocking write (AC:H); impact is pure availability loss of the handshake daemon (A:H, C:N/I:N).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Mooncake transfer engine through 0.3.13.post1 contains a denial of service vulnerability that allows unauthenticated remote attackers to block the handshake daemon by never reading replies. Attackers can send a Metadata request to the handshake RPC port and stall SocketHandShakePlugin's single listener thread in writeFully(), breaking all subsequent handshakes, metadata fetches, notify and probe requests.
Executive ViewAI
Mooncake Transfer Engine versions up to and including 0.3.13.post1 can be remotely stalled by an unauthenticated attacker who opens a handshake connection and never reads the response, which permanently blocks the daemon's single listener thread and halts all subsequent handshake, metadata, notify, and probe operations. Organizations running this engine with the handshake RPC port reachable beyond a trusted network boundary face an availability outage of a core data-movement component, requiring manual restart rather than recovery on its own. Leadership should care because the failure mode is a denial of service that can interrupt distributed training and data transfer pipelines, and no vendor patch is currently available.
No vendor-released patch identified at time of analysis. Interim mitigations: bind the handshake RPC port to loopback or a trusted internal network only, enforce firewall/ACL rules restricting access to that port, monitor for stalled handshake connections, and maintain a documented daemon restart runbook to restore availability after a stall.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Unauthenticated attackers with network reachability to the Mooncake transfer engine's TCP transport data port on release
Unauthenticated access to Mooncake's HTTP metadata server (all versions through 0.3.13.post1) lets any network-reachable
Unauthenticated memory exhaustion in the Mooncake transfer engine (all versions through 0.3.13.post1) allows any network
Uncontrolled resource allocation in the MasterService::GetReplicaListByRegex handler of kvcache-ai Mooncake (all version
Improper access control in kvcache-ai Mooncake up to versions 0.3.12, 0.3.13.post1, and 0.3.14-rc1 allows remote attacke
EUVD-2026-91134
GHSA-mmqv-rpx9-mqhx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB