Redis یک پایگاهدادهٔ متنباز درونحافظهای است که قابلیت ذخیرهسازی روی دیسک را نیز دارد. در نسخهٔ 8.2.1 و نسخههای قدیمیتر، یک نقص امنیتی وجود دارد که به کاربر احراز هویتشده امکان میدهد با ارسال یک اسکریپت Lua دستکاریشده، رفتار garbage collector را تغییر دهد. این رفتار میتواند منجر به بروز use-after-free شود که در نهایت ممکن است به اجرای کد از راه دور (RCE) بیانجامد. این مشکل در تمام نسخههای Redis که از اسکریپتنویسی Lua پشتیبانی میکنند مشاهده شده است.
محصولات آسیبپذیر
-
Redis نسخهٔ 8.2.1 و نسخههای قبل از آن.
توصیههای امنیتی
- بهروزرسانی فوری: Redis را به نسخهٔ 8.2.2 یا نسخهٔ امنتر که وصلهٔ مربوطه را شامل میشود ارتقاء دهید.
- راهکار موقت (در صورت عدم امکان بهروزرسانی سریع): اجرای اسکریپتهای Lua را برای کاربران غیرمجاز مسدود کنید. این کار را میتوان با استفاده از ACL و محدود کردن دستورات EVAL و EVALSHA انجام داد تا تنها کاربران مورد اعتماد اجازهٔ اجرای اسکریپت داشته باشند یا اجرای اسکریپت کاملاً غیرفعال شود.
- محدودسازی دسترسی و اصول کمترین امتیاز: دسترسی به سرور Redis را تنها به شبکهها و سرویسهای موردنیاز محدود کنید و حسابهای کاربری را با حداقل امتیازات ممکن پیکربندی نمایید.
- نظارت و بررسی لاگها: بهدنبال رفتارهای مشکوک مربوط به اجرای اسکریپتها، فراخوانیهای غیرمعمول EVAL/EVALSHA و خطاهای حافظه بگردید. در صورت مشاهدهٔ نشانهٔ نفوذ، اقدامات بازیابی (مثل چرخش کلیدها، بازیابی از پشتیبان معتبر و بررسی یکپارچگی دادهها) را انجام دهید.
- آزمون و بررسی ایمنی: پس از بهروزرسانی، تستهای امنیتی و بررسیهای مربوط به اسکریپتنویسی Lua را اجرا کنید تا از رفع مشکل اطمینان حاصل شود.
منبع خبر:
- 73