Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-69111

CVE-2026-69111: Milvus Denial of Service Vulnerability

CVE-2026-69111 is an unauthenticated denial of service vulnerability in Milvus that allows attackers to terminate service components via crafted HTTP requests. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-69111 Overview

CVE-2026-69111 is an unauthenticated denial of service vulnerability affecting Milvus vector database versions through 2.6.22 and 3.0.0. The flaw resides in the management server exposed on TCP port 9091, where the /management/stop endpoint bypasses the REST API authentication middleware. Remote attackers can send a crafted HTTP GET request with a role parameter to terminate the proxy, datanode, or querynode components. Successful exploitation halts core Milvus services and disrupts any dependent AI or vector-search workloads. The issue is tracked under CWE-306: Missing Authentication for Critical Function.

Critical Impact

Any network-reachable attacker can shut down Milvus proxy, datanode, or querynode components without credentials, breaking availability of the vector database.

Affected Products

  • Milvus versions up to and including 2.6.22
  • Milvus 3.0.0
  • Deployments exposing the management server on port 9091

Discovery Timeline

  • 2026-08-05 - CVE-2026-69111 published to NVD
  • 2026-08-05 - Last updated in NVD database

Technical Details for CVE-2026-69111

Vulnerability Analysis

Milvus exposes a management HTTP server on port 9091 that is separate from the primary REST API. This management interface hosts operational endpoints, including /management/stop, which is intended for controlled shutdown of internal components. The authentication middleware that guards the standard REST API is not applied to this management path. As a result, any client capable of reaching port 9091 can invoke shutdown functionality without credentials.

The endpoint accepts a role query parameter that selects which component to terminate. Valid values include proxy, datanode, and querynode. Each of these components is essential to Milvus operation: the proxy handles client traffic, the datanode manages persistent segment storage, and the querynode services vector search requests. Terminating any one of them halts vector query processing and produces a denial of service condition.

Root Cause

The root cause is missing authentication enforcement on a privileged administrative endpoint. The REST API authentication middleware is registered on the primary API surface but not on the management server routes. This design gap allows the /management/stop handler to execute without verifying caller identity or authorization.

Attack Vector

Exploitation requires only network reachability to port 9091 and no user interaction. An attacker issues a single HTTP GET request to /management/stop with a role parameter set to a target component. The Milvus process terminates the specified role, and repeat requests can be used to shut down additional components. No authentication, session, or prior access is required.

Technical details, patches, and vendor discussion are available in the Milvus GitHub issue, the initial pull request, the follow-up pull request, and the VulnCheck advisory.

Detection Methods for CVE-2026-69111

Indicators of Compromise

  • HTTP GET requests to /management/stop on TCP port 9091 from unexpected source addresses
  • Query strings containing role=proxy, role=datanode, or role=querynode targeting the management endpoint
  • Unscheduled termination of Milvus proxy, datanode, or querynode processes
  • Client-side connection failures or query timeouts against the Milvus REST API following management traffic

Detection Strategies

  • Enable HTTP access logging on the Milvus management server and alert on any request to paths beginning with /management/
  • Correlate process exit events for Milvus components with preceding inbound traffic to port 9091
  • Baseline expected administrative sources and flag requests to port 9091 from any address outside that set

Monitoring Recommendations

  • Forward Milvus container and process logs to a centralized logging or SIEM platform for retention and correlation
  • Monitor Kubernetes pod restarts, liveness probe failures, and CrashLoopBackOff states for Milvus components
  • Track network flows to port 9091 and alert on external or non-administrative sources reaching this port

How to Mitigate CVE-2026-69111

Immediate Actions Required

  • Restrict network access to Milvus port 9091 so that only trusted operators and internal orchestration systems can reach it
  • Place the management interface behind a firewall, service mesh policy, or Kubernetes NetworkPolicy that blocks external clients
  • Audit exposure of Milvus deployments on cloud load balancers and public IP addresses to confirm port 9091 is not internet-reachable
  • Upgrade to a Milvus release that incorporates the fixes from pull requests #49847 and #51573

Patch Information

The Milvus maintainers addressed the issue through two upstream pull requests that apply authentication enforcement to management endpoints and harden the shutdown handler. Operators should track the Milvus release notes and deploy the first patched release above 2.6.22 and 3.0.0.

Workarounds

  • Bind the management server to localhost or an internal-only interface so remote clients cannot reach port 9091
  • Enforce Kubernetes NetworkPolicy or cloud security group rules that limit inbound traffic to port 9091 to a defined administrative source range
  • Front the Milvus management interface with an authenticating reverse proxy that rejects unauthenticated requests to /management/*
bash
# Example Kubernetes NetworkPolicy restricting access to Milvus port 9091
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: milvus-management-restrict
  namespace: milvus
spec:
  podSelector:
    matchLabels:
      app.kubernetes.io/name: milvus
  policyTypes:
    - Ingress
  ingress:
    - from:
        - namespaceSelector:
            matchLabels:
              role: platform-admin
      ports:
        - protocol: TCP
          port: 9091

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.