RedisBloom is a probabilistic data structures module for Redis. In all versions of RedisBloom before 2.8.20, the module does not properly validate serialized values processed through the Redis RESTORE command. An authenticated attacker with permission to execute RESTORE on a server with the RedisBloom module loaded can supply a crafted serialized payload that triggers invalid memory access and may lead to remote code execution. A workaround is to restrict access to the RESTORE command with ACL rules. This issue is fixed in version 2.8.20.
RedisBloom versions before 2.8.20 contain a critical buffer overflow vulnerability in RESTORE command handling that allows authenticated attackers to execute arbitrary code. The vulnerability affects all RedisBloom installations and requires immediate patching or access control implementation. With a CVSS score of 8.8, this poses significant risk to organizations using RedisBloom for caching and data processing.
IMMEDIATE ACTIONS:
1. Identify all RedisBloom installations across your infrastructure using asset discovery tools
2. Check RedisBloom version: redis-cli MODULE LIST | grep redisbloom
3. Implement ACL restrictions immediately: ACL SETUSER default on >password -@all +@read +@write -restore
4. Restrict RESTORE command access to trusted administrative accounts only
PATCHING:
1. Upgrade RedisBloom to version 2.8.20 or later
2. Test patches in non-production environments first
3. Plan maintenance windows for production upgrades
4. Verify module functionality post-upgrade
COMPENSATING CONTROLS (if immediate patching not possible):
1. Disable RESTORE command entirely if not required: ACL SETUSER default -restore
2. Implement network segmentation to restrict Redis access to trusted clients only
3. Enable Redis command logging and monitoring for RESTORE attempts
4. Deploy intrusion detection rules for suspicious RESTORE payloads
DETECTION:
1. Monitor Redis logs for RESTORE command execution: grep -i restore /var/log/redis/redis-server.log
2. Alert on any RESTORE commands from unexpected sources
3. Monitor for Redis process crashes or unexpected memory access patterns
4. Implement YARA rules to detect malicious serialized payloads in network traffic
الإجراءات الفورية:
1. تحديد جميع تثبيتات RedisBloom عبر البنية التحتية باستخدام أدوات اكتشاف الأصول
2. التحقق من إصدار RedisBloom: redis-cli MODULE LIST | grep redisbloom
3. تطبيق قيود ACL فوراً: ACL SETUSER default on >password -@all +@read +@write -restore
4. تقييد وصول أمر RESTORE للحسابات الإدارية الموثوقة فقط
التصحيح:
1. ترقية RedisBloom إلى الإصدار 2.8.20 أو أحدث
2. اختبار التصحيحات في بيئات غير الإنتاج أولاً
3. التخطيط لنوافذ الصيانة لترقيات الإنتاج
4. التحقق من وظائف الوحدة بعد الترقية
الضوابط البديلة (إذا لم يكن التصحيح الفوري ممكناً):
1. تعطيل أمر RESTORE بالكامل إذا لم يكن مطلوباً: ACL SETUSER default -restore
2. تطبيق تقسيم الشبكة لتقييد وصول Redis للعملاء الموثوقين فقط
3. تفعيل تسجيل مراقبة أوامر Redis لمحاولات RESTORE
4. نشر قواعد كشف الاختراق للحمولات المريبة
الكشف:
1. مراقبة سجلات Redis لتنفيذ أمر RESTORE
2. التنبيه على أي أوامر RESTORE من مصادر غير متوقعة
3. مراقبة أعطال عملية Redis أو أنماط الوصول إلى الذاكرة غير المتوقعة
4. تطبيق قواعل YARA للكشف عن الحمولات الضارة المسلسلة