CVE-2024-3584 is a high severity path traversal (CVSS 7.5) in the Qdrant vector database snapshot upload endpoint. A URL encoded collection name could write a file to an arbitrary location. The record says the issue is fixed in version 1.9.0. Upgrade to 1.9.0 or later and keep the API off untrusted networks.
Weakness class: CWE-20.
What's affected
- Product: qdrant/qdrant.
- Affected: the record describes version 1.9.0-dev, from the development line before the 1.9.0 release.
- Fixed: version 1.9.0, per the record description.
- Component: the upload endpoint for collection snapshots.
- Fix: the linked commit, "use StrictCollectionPath for uploading collection snapshot" (pull request 3991), changes one file, src/actix/api/snapshot_api.rs, so the upload handler takes the stricter path type.
- Severity: High, CVSS 7.5, per the record. The KEV flag is false.
How to check if you're exposed
- Find the Qdrant version: query the root endpoint with
curl http://localhost:6333/and read the version field, or check the container tag withdocker ps. - Check whether the API port, 6333 by default, is reachable from outside your private network.
- Check whether API keys are configured. An open instance lets anyone call the endpoint.
- If you build from source, confirm the checkout includes the snapshot path fix.
What to do now
- Upgrade Qdrant to 1.9.0 or later.
- Enable API key authentication and place the service on a private network.
- Run the container as a non root user with a read only file system outside the data directory.
- Review the host for unexpected files in places the Qdrant process can write to.
- Pin image tags in your deployment so a stale image does not return after a restart.
Why it matters
The record classifies this as CWE-20, improper input validation, with the effect being path traversal. A collection name arrives in the URL. If the server joins it into a file path without checking, an encoded sequence can climb out of the intended directory. The fix tightens the path type that handler accepts, so odd names are rejected before they reach the file system.
Arbitrary file write is serious because it can overwrite configuration, scheduled job files or code. The record states it can lead to full takeover of the system, which is the worst case rather than the expected result. Running the service unprivileged shrinks that range a lot.
Vector databases are new in many stacks and are sometimes deployed with default settings during experiments. Those experiments often become production.
Quick check
Which version fixes CVE-2024-3584?
Version 1.9.0, according to the record.
Is the dev version the only one affected?
The record names 1.9.0-dev. Run a current release and confirm against the Qdrant release notes.
Sources
- https://github.com/qdrant/qdrant/commit/15479a45ffa3b955485ae516696f7e933a8cce8a
- Gold entry for CVE-2024-3584
Last reviewed: 19 October 2026.