qdrant has arbitrary file write via /logger endpoint
CVE-2026-25628 · GHSA-f632-vm87-2m2f
- Affected
- crates.io qdrant >= 1.9.3, < 1.15.6
- Fixed in
- 1.15.6· Vendor fix available
- Issue
- It is possible to append to arbitrary files via /logger endpoint. Minimal privileges are required (read-only access). Tested on Qdrant 1.15.5 Details POST /logger (Source code link) endpoint accepts an attacker-controlled ondisk.logfile path. There are no authorization checks (but authentication check is present). This can be exploited in the following way: if configuration directory is writable and config/local.yaml does not exist, set log path to config/local.yaml and send a request with a log injection payload. ThePATCH /collections endpoint was used with an invalid collection name to inject valid yaml. After running the PoC, the content of config/local.yaml will be: Some junk log lines are present, but they don't matter as this is still valid yaml. After that, if qdrant is restarted (via legitimate means or by a OOM/crash), then local.yaml config will have higher priority and service.staticcontentdir will be set to ... In a container environment, this allows one to read…
Recommended action: Upgrade to 1.15.6 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.