cybersecurity

Milvus Proxy Vulnerability Enables Forged Headers and Full Authorization Circumvention

A critical authentication bypass flaw in Milvus Proxy (CVE-2025-64513) allows attackers to bypass all security checks.

Discovered by the HelixGuard Team on November 12, 2025, this issue affects popular versions of Milvus, an open-source vector database designed for AI workloads, including generative models.

Attackers forge a user-controlled HTTP header called sourceId with a base64-encoded value of @@milvus-member@@.

This tricks the proxy into treating the request as coming from an internal trusted component, granting full administrative access without any username, password, or API key.

Milvus developers fixed the problem in a recent commit by removing this flawed trust logic. Now, every request must be properly authenticated.

Users running vulnerable setups face high risks, especially in cloud or AI environments where vector databases store sensitive embeddings.

CVE Details

CVE IDCVSS ScoreAffected VersionsImpactExploit Prerequisites
CVE-2025-645139.1 (Critical)Milvus [2.4.0, 2.4.24)
Milvus [2.5.0, 2.5.21)
Milvus [2.6.0, 2.6.5)
Full auth bypass, admin access, RCE potential via management APIsNetwork access to Milvus Proxy (default port 19530); no privileges needed

Technical Breakdown and Reproduction

The vulnerability stems from weak header validation in authentication_interceptor.go.

When authentication is enabled, the proxy calls validSourceID(), which base64-decodes the sourceId header and checks it against the hardcoded constant @@milvus-member@@.

If it matches, the system skips user auth entirely and assumes an internal call.

Here’s the vulnerable code snippet:

func validSourceID(ctx context.Context, authorization []string) bool {
    if len(authorization) < 1 { return false }
    token := authorization[0]
    sourceID, err := crypto.Base64Decode(token)
    if err != nil { return false }
    return sourceID == util.MemberCredID  // Hardcoded: "@@milvus-member@@"
}

In the auth flow:

if Params.CommonCfg.AuthorizationEnabled.GetAsBool() {
    if !validSourceID(ctx, md[strings.ToLower(util.HeaderSourceID)]) {
        // Fallback to username/password or API key
    }
    // Else: Full bypass!
}

Anyone can send sourceId: <base64(“@@milvus-member@@”)> over gRPC to bypass checks.

This works on operations like ListDatabases, CheckHealth, or even collection management, enabling data exfiltration or manipulation.

To reproduce, set up a vulnerable Milvus standalone instance:

  1. Download and run: curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh && bash standalone_embed.sh start
  2. Enable auth in the user.yaml: standard.security.authorizationEnabled: true
  3. Use the provided Go PoC to test unauthenticated vs. forged header calls. Output shows failures without the header but success with it, listing databases like “default” as admin.

The patch at GitHub commit enforces standard auth for all requests. Update to Milvus 2.4.24+, 2.5.21+, or 2.6.5+ immediately.

Check exposures via Shodan for port 19530. No known in-the-wild exploits yet, but AI infrastructure demands quick patching.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies..

Recent Posts

Burp Suite Supercharges Its Scanning Capabilities With React2Shell Vulnerability Detection

PortSwigger has leveled up Burp Suite's scanning arsenal with the latest Active Scan++ extension, version…

4 months ago

Malicious MCP Servers Enable New Prompt Injection Attack To Drain Resources

Unit 42 researchers at Palo Alto Networks exposed serious flaws in the Model Context Protocol…

4 months ago

Law Enforcement Detains Hackers Equipped With Specialized Flipper Hacking Tools

Polish police have arrested three Ukrainian men traveling through Europe and seized a cache of…

4 months ago

Google Unveils 10 New Gemini-Powered AI Features For Chrome

Google has launched its most significant Chrome update ever, embedding Gemini AI across the browser…

4 months ago

CISA Alerts On Actively Exploited Buffer Overflow Flaw In D-Link Routers

Attackers exploit this vulnerability through the router's web interface components, specifically "cgibin" and "hnap_main," by…

4 months ago

Over 500 Apache Tika Toolkit Instances Exposed To Critical XXE Vulnerability

Security researchers have uncovered a severe flaw in Apache Tika, a popular open-source toolkit for…

4 months ago