FIX CARD
PRODUCT Qdrant
SEVERITY HIGH
Qdrant gRPC data plane (:6334) accepts connections
Why it matters
The port where your vectors actually live — Qdrant's gRPC data plane on :6334 — accepts connections from the internet, and the same host was confirmed to be Qdrant. 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 an open data plane with no API key configured is full read/write access to every embedding, including stores that may hold agent memory (OWASP ASI06) — treat it as exposed until proven otherwise.
Fix it — 3 steps
- Take the data plane off the internet: publish :6334 on the VPC/loopback only (
-p 127.0.0.1:6334:6334) or block it at the firewall — e.g.sudo ufw deny 6334. This is the gRPC port, not the HTTP :6333 one. - Enable the API key so an open port is not an open database: set
QDRANT__SERVICE__API_KEY=<long-random-string>(andQDRANT__SERVICE__GRPC_API_KEYif you override gRPC separately) and restart. - If clients cross untrusted networks, put the gRPC endpoint behind TLS (
QDRANT__SERVICE__ENABLE_TLS/ grpc_tls) — the API key otherwise travels in the clear.
Verify it’s fixed
nc -z -w 3 YOUR_SERVER_IP 6334 # should time out or refuse, not print succeeded/open
References
- https://qdrant.tech/documentation/guides/security/
- https://qdrant.tech/documentation/guides/configuration/
- https://genai.owasp.org/2025/12/09/owasp-top-10-for-agentic-applications-the-benchmark-for-agentic-security-in-the-age-of-autonomous-ai/
Not sure if your stack is exposed?
Run the free check — usually under a minute, safe read-only probes.
Scan your stack