Redis یکی از پرکاربردترین پایگاه دادههای درونحافظهای است که به عنوان واسط پیام نیز استفاده میگردد. در ساختار این پایگاه داده مفسر زبان Lua تعبیه شده است که API پایگاه داده Redis امکان ارتباط کاربر با این مفسر را فراهم میسازد، این مفسر اسکریپتها و توابع تعریفشده توسط کاربر را اجرا میکنند. اسکریپتها در یک محیط ایزوله و سندباکس اجرا میشوند و فقط میتوانند به کتابخانههای خاص Lua دسترسی داشته باشند.
مفسر Lua در Redis یک آسیبپذیری بحرانی (با شدت 10 از 10) دارد. در برخی از توزیعهای لینوکسی کتابخانه Lua در قالب یک کتابخانه دینامیک (.so) ارائه میشود. زمانی که مفسر Lua از طریق تابع package.loadlib این کتابخانه دینامیک را فراخوانی میکند که امکان دسترسی به عملکردهای مشخصی از مفسر Lua میسر میگردد و به مهاجم این امکان را میدهد که به محیط خارج از سندباکس Lua دسترسی یافته و کد دلخواه خود را روی هاست اجرا کند.
برای رفع این آسیبپذیری نسخههای آسیبپذیر را به نسخههای زیر ارتقاء دهید.
- redis/5:6.0.16-1+deb11u2
- redis/5:5.0.14-1+deb10u2
- redis/5:6.0.16-2
- redis/5:7.0~rc2-2
- 58