Qdrant is a vector similarity search engine and vector database. From 1.9.3 to before 1.16.0, it is possible to append to arbitrary files via /logger endpoint using an attacker-controlled on_disk.log_file path. Minimal privileges are required (read-only access). This vulnerability is fixed in 1.16.0.
Qdrant vector database versions 1.9.3 to 1.15.x contain a critical path traversal vulnerability in the /logger endpoint that allows authenticated users with minimal privileges to append arbitrary content to files on the system. This vulnerability poses significant risk to organizations using Qdrant for AI/ML workloads, potentially enabling data exfiltration, configuration tampering, and system compromise. Immediate patching to version 1.16.0 or later is strongly recommended.
IMMEDIATE ACTIONS:
1. Identify all Qdrant instances in your environment and document their versions
2. Restrict network access to Qdrant /logger endpoint using firewall rules or WAF policies
3. Implement authentication enforcement and disable read-only access if not required
4. Enable audit logging for all /logger endpoint requests
PATCHING:
1. Upgrade all Qdrant instances to version 1.16.0 or later immediately
2. Test patches in non-production environments first
3. Implement staged rollout for production systems
COMPENSATING CONTROLS (if immediate patching not possible):
1. Deploy reverse proxy (nginx/Apache) with request filtering to block path traversal patterns (../, ..\)
2. Implement strict input validation on log_file parameter
3. Run Qdrant with minimal file system permissions (principle of least privilege)
4. Use SELinux or AppArmor to restrict file write operations
DETECTION:
1. Monitor for POST requests to /logger endpoint with suspicious log_file parameters
2. Alert on any /logger requests containing path traversal sequences
3. Track file modifications in Qdrant data directories
4. Implement SIEM rules: log_file parameter contains "../" or "..\\" or absolute paths outside expected directories
الإجراءات الفورية:
1. حدد جميع مثيلات Qdrant في بيئتك وتوثيق إصداراتها
2. قيد الوصول إلى نقطة نهاية /logger باستخدام قواعد جدار الحماية أو سياسات WAF
3. فرض المصادقة وتعطيل الوصول للقراءة فقط إذا لم يكن مطلوباً
4. فعّل تسجيل التدقيق لجميع طلبات نقطة نهاية /logger
التصحيح:
1. ترقية جميع مثيلات Qdrant إلى الإصدار 1.16.0 أو أحدث فوراً
2. اختبر التصحيحات في بيئات غير الإنتاج أولاً
3. طبق التجميع المرحلي لأنظمة الإنتاج
الضوابط البديلة (إذا لم يكن التصحيح الفوري ممكناً):
1. نشر وكيل عكسي (nginx/Apache) مع تصفية الطلبات لحجب أنماط المسار المتقاطع
2. طبق التحقق الصارم من صحة معامل log_file
3. قم بتشغيل Qdrant بأقل صلاحيات نظام الملفات
4. استخدم SELinux أو AppArmor لتقييد عمليات كتابة الملفات
الكشف:
1. راقب طلبات POST إلى نقطة نهاية /logger بمعاملات log_file مريبة
2. أصدر تنبيهات لأي طلبات /logger تحتوي على تسلسلات المسار المتقاطع
3. تتبع تعديلات الملفات في أدلة بيانات Qdrant
4. طبق قواعد SIEM: معامل log_file يحتوي على "../" أو "..\\" أو مسارات مطلقة خارج الأدلة المتوقعة