RustFS is a distributed object storage system built in Rust. Prior to version alpha.78, IP-based access control can be bypassed: get_condition_values trusts client-supplied X-Forwarded-For/X-Real-Ip without verifying a trusted proxy, so any reachable client can spoof aws:SourceIp and satisfy IP-allowlist policies. This issue has been patched in version alpha.78.
RustFS versions prior to alpha.78 contain a critical IP-based access control bypass vulnerability (CVE-2026-21862) where the get_condition_values function trusts unsanitized X-Forwarded-For and X-Real-Ip headers without verifying trusted proxy sources. This allows unauthenticated attackers to spoof source IP addresses and circumvent IP-allowlist policies, potentially gaining unauthorized access to distributed object storage systems. Organizations using RustFS for sensitive data storage must immediately upgrade to alpha.78 or implement strict proxy validation controls.
IMMEDIATE ACTIONS:
1. Identify all RustFS deployments running versions alpha.1 through alpha.77 across your infrastructure
2. Assess which systems contain sensitive data subject to IP-based access controls
3. Implement emergency network segmentation to restrict RustFS access to known, verified IP ranges only
PATCHING GUIDANCE:
1. Upgrade all affected RustFS instances to version alpha.78 or later immediately
2. Test patches in non-production environments first to ensure compatibility
3. Coordinate upgrades during maintenance windows to minimize service disruption
4. Verify patch application by checking version numbers post-deployment
COMPENSATING CONTROLS (if immediate patching not possible):
1. Deploy WAF/reverse proxy rules to validate and sanitize X-Forwarded-For and X-Real-Ip headers
2. Configure proxy to only accept these headers from explicitly trusted upstream proxies
3. Implement strict IP allowlisting at network perimeter (firewall rules)
4. Disable X-Forwarded-For and X-Real-Ip header processing if not required
5. Enforce mutual TLS (mTLS) authentication as additional access control layer
DETECTION RULES:
1. Monitor RustFS logs for requests with X-Forwarded-For/X-Real-Ip headers from unexpected sources
2. Alert on IP addresses in headers that don't match source connection IP
3. Track failed authentication attempts followed by successful access from different IPs
4. Implement SIEM rules to detect rapid IP spoofing attempts across multiple requests
الإجراءات الفورية:
1. تحديد جميع نشرات RustFS التي تعمل بالإصدارات alpha.1 إلى alpha.77 عبر البنية التحتية
2. تقييم أي الأنظمة تحتوي على بيانات حساسة تخضع للتحكم بالوصول القائم على عناوين IP
3. تطبيق تقسيم الشبكة الطارئ لتقييد الوصول إلى RustFS بنطاقات عناوين IP معروفة ومتحققة فقط
إرشادات التصحيح:
1. ترقية جميع نسخ RustFS المتأثرة إلى الإصدار alpha.78 أو أحدث فوراً
2. اختبار التصحيحات في بيئات غير الإنتاج أولاً لضمان التوافقية
3. تنسيق الترقيات خلال نوافذ الصيانة لتقليل انقطاع الخدمة
4. التحقق من تطبيق التصحيح بفحص أرقام الإصدار بعد النشر
عناصر التحكم البديلة (إذا لم يكن التصحيح الفوري ممكناً):
1. نشر قواعد WAF/reverse proxy للتحقق من صحة وتنظيف رؤوس X-Forwarded-For و X-Real-Ip
2. تكوين الوكيل لقبول هذه الرؤوس من وكلاء المنبع الموثوقة بشكل صريح فقط
3. تطبيق قوائم السماح بعناوين IP الصارمة على محيط الشبكة (قواعد جدار الحماية)
4. تعطيل معالجة رؤوس X-Forwarded-For و X-Real-Ip إذا لم تكن مطلوبة
5. فرض المصادقة المتبادلة TLS (mTLS) كطبقة تحكم وصول إضافية
قواعد الكشف:
1. مراقبة سجلات RustFS للطلبات التي تحتوي على رؤوس X-Forwarded-For/X-Real-Ip من مصادر غير متوقعة
2. التنبيه على عناوين IP في الرؤوس التي لا تطابق عنوان IP لاتصال المصدر
3. تتبع محاولات المصادقة الفاشلة متبوعة بالوصول الناجح من عناوين IP مختلفة
4. تطبيق قواعد SIEM للكشف عن محاولات تزييف عناوين IP السريعة عبر طلبات متعددة