Критическое удаленное выполнение кода в самом быстром in-memory хранилище в мире
Lua-скриптинг Redis только что стал идеальной зоной приземления после аутентификации.
Аутентифицированный злоумышленник → созданный Lua-скрипт → выход из песочницы → полное RCE на хосте
⚠️ Обзор
CVE-2025-49844 ("RediShell") — это критическая уязвимость повреждения памяти типа use-after-free (UAF) во встроенном движке Lua-скриптинга Redis.
Аутентифицированный пользователь отправляет специально созданный Lua-скрипт через EVAL / EVALSHA, который манипулирует сборщиком мусора, вызывает UAF во время парсинга/выполнения, выходит из песочницы Lua и достигает произвольного выполнения кода на базовом хосте.
Ошибка скрывалась в исходном коде Redis на протяжении ~13 лет (с момента ранней интеграции Lua) и затрагивает практически все версии с включенным Lua до исправления в октябре 2025 года.
«Один злонамеренный вызов EVAL. Полный захват сервера. Redis в 2025–2026 стал интересным.»
🔥 Степень серьезности и влияние
CVSS v3.1 Base Score: 10.0 / Critical (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)
Вектор атаки: Сеть (порт Redis TCP, обычно 6379)
Необходимые привилегии: Низкие (любой аутентифицированный пользователь Redis с правами выполнения скриптов)
Взаимодействие пользователя: Нет
Зрелость эксплойта: Публичные PoC и инструменты эксплойтов выпущены вскоре после раскрытия
Реальность в марте 2026 года:
Публичные эксплойты нацелены на reverse shell, постоянство, полезные нагрузки для майнинга криптовалют
Высокий риск в облачных средах (кэширующие слои, хранилища сессий, очереди)
В сочетании со слабой аутентификацией / открытым Redis → полная компрометация инфраструктуры
Многие устаревшие развертывания, образы Docker и управляемые сервисы все еще уязвимы
🕵️ Обнаружение и признание
Обнаружено командой Wiz Research
Сообщено через Pwn2Own Berlin (май 2025)
Скоординированное раскрытие: 3 октября 2025 (уведомление Redis + исправления)
Назван "RediShell" командой Wiz (RCE, подобное shell, через выход из Lua)
🔬 Техническое погружение
Redis встраивает Lua 5.x для скриптинга (EVAL, EVALSHA, функции и т.д.).
Ошибка существует во взаимодействии парсера Lua и сборщика мусора (GC):
Злоумышленник отправляет созданный Lua-скрипт через EVAL
Во время парсинга (luaY_parser) объект TString выделяется, но не защищен в стеке Lua
GC запускается преждевременно → освобождает объект
Позднее код использует освобожденную память → примитив UAF
Злоумышленник использует это для утечки памяти, обхода ASLR, ROP/return-to-libc → произвольное выполнение нативного кода вне песочницы
Ключевой фатальный момент: Песочница Lua никогда не была укреплена против примитивов повреждения памяти.
📅 Хронология
Дата
Событие
~2012
Внедрение уязвимой интеграции Lua
Май 2025
Wiz обнаруживает и демонстрирует на Pwn2Own Berlin
3 окт. 2025
Публичное раскрытие + уведомление безопасности Redis
3 окт. 2025
Выпущены исправленные версии (6.2.20+, 7.x, 8.x)
6–7 окт. 2025
Блоги Wiz/Sysdig/Redrays + начальные PoC
Окт. 2025+
Появляются репозитории эксплойтов (GitHub, labs)
Март 2026
Эксплуатация продолжается против устаревших/облачных конфигураций
🖥️ Затронутые системы
Уязвимы: Все версии Redis с включенным Lua-скриптингом до исправлений октября 2025 Исправлено в:
Полные вооруженные PoC появились на GitHub в течение нескольких дней (утечка памяти → ROP → shell).
Многие включают обход ASLR, обход NX/DEP и опции постоянства.
🛡️ Проверка и устранение (март 2026)
1. Проверка версии
root@kitploit:~
redis-cli INFO SERVER | grep redis_version
→ Уязвим, если версия меньше исправленных выпусков выше
2. Немедленное исправление
Обновитесь до последней стабильной версии (рекомендуется 8.2.x+)
Для управляемых сервисов (AWS/Azure/GCP): принудительное обновление или подтвердите применение патча
3. Укрепление
Полностью отключите Lua, если не требуется:
root@kitploit:~
# In redis.conf or ACL
acl setuser default off ~* &* +@all -EVAL -EVALSHA -SCRIPT
Привяжите к localhost / используйте TLS + строгую аутентификацию