← fix library

FIX CARD
PRODUCT Milvus
SEVERITY HIGH

HIGH

Milvus gRPC data plane (:19530) accepts connections

Why it matters

The port where your vectors actually live — Milvus's gRPC data plane on :19530 — accepts connections from the internet, and the same host was confirmed to be Milvus. This was measured by a zero-byte TCP connect, so it proves reachability, not that your data is readable: whether gRPC auth or TLS stands behind the open port was not tested. But Milvus has no authentication unless you enabled it, so an open :19530 usually means every embedding readable and writable, including stores that may hold agent memory (OWASP ASI06) — treat it as exposed until proven otherwise.

Fix it — 3 steps

  1. Take the data plane off the internet: bind :19530 to the cluster/VPC only or block it at the firewall — e.g. sudo ufw deny 19530. This is the gRPC port, not the HTTP :9091 one.
  2. Enable authentication so an open port is not an open database: set common.security.authorizationEnabled: true in the Milvus config (or milvus.authenticationEnabled in the Helm values) and restart.
  3. If clients cross untrusted networks, enable TLS on the gRPC listener (common.security.tlsMode: 2) — credentials otherwise travel in the clear.

Verify it’s fixed

nc -z -w 3 YOUR_SERVER_IP 19530  # should time out or refuse, not print succeeded/open

References

Not sure if your stack is exposed?

Run the free check — usually under a minute, safe read-only probes.

Scan your stack