Полный контроль над Redis. Патч или PoC: выбор за вами
NewsMakerВ сети опубликован PoC-эксплоит для уязвимости
Специалисты Wiz недавно выявили критическую уязвимость в Redis, затрагивающую версию 8.2.1 и более ранние релизы. Проблема ( CVE-2025-49844 , оценка CVSS: 10) кроется в небезопасной работе с памятью при разборе Lua-скриптов — в частности, в функции luaY_parser, которая не закрепляет имя загружаемого чанка на стеке перед запуском лексера. Это открывает окно для атаки типа use-after-free (UAF), способной привести к удалённому выполнению произвольного кода .
Суть уязвимости кроется в следующем: Redis использует Lua 5.1 для выполнения встроенных скриптов. В уязвимых версиях можно подготовить специальный скрипт, в котором имя чанка инициирует сборку мусора (GC) в момент, когда парсер всё ещё обращается к освободившейся строке. Это создаёт гонку, позволяющую злоумышленнику внедрить произвольный код на уровне C.
Для эксплуатации проблемы необходимо : Redis-сервер версии 8.2.1 или ниже; Доступ к Redis по локальной сети; Возможность выполнения Lua-скриптов (например, через redis-cli).
Эксплойт использует файл CVE-2025-49844.lua, который многократно вызывает loadstring с триггером GC в имени чанка. Пример цикла атаки:
while redis-cli -h localhost -p 6379 --eval CVE-2025-49844.lua >/dev/null; do printf '.' done При успешной атаке Redis-сервер может упасть или сбросить соединение.
Проблема устранена в версии Redis 8.2.2, где имя чанка жёстко закрепляется на Lua-стеке до завершения разбора. Соответствующее исправление доступно в коммите d5728cb . Специалисты рекомендуют обновиться до Redis 8.2.2 или более новой версии. При невозможности обновления — отключить возможность выполнения Lua-скриптов для ненадёжных пользователей.

Специалисты Wiz недавно выявили критическую уязвимость в Redis, затрагивающую версию 8.2.1 и более ранние релизы. Проблема ( CVE-2025-49844 , оценка CVSS: 10) кроется в небезопасной работе с памятью при разборе Lua-скриптов — в частности, в функции luaY_parser, которая не закрепляет имя загружаемого чанка на стеке перед запуском лексера. Это открывает окно для атаки типа use-after-free (UAF), способной привести к удалённому выполнению произвольного кода .
Суть уязвимости кроется в следующем: Redis использует Lua 5.1 для выполнения встроенных скриптов. В уязвимых версиях можно подготовить специальный скрипт, в котором имя чанка инициирует сборку мусора (GC) в момент, когда парсер всё ещё обращается к освободившейся строке. Это создаёт гонку, позволяющую злоумышленнику внедрить произвольный код на уровне C.
Для эксплуатации проблемы необходимо : Redis-сервер версии 8.2.1 или ниже; Доступ к Redis по локальной сети; Возможность выполнения Lua-скриптов (например, через redis-cli).
Эксплойт использует файл CVE-2025-49844.lua, который многократно вызывает loadstring с триггером GC в имени чанка. Пример цикла атаки:
while redis-cli -h localhost -p 6379 --eval CVE-2025-49844.lua >/dev/null; do printf '.' done При успешной атаке Redis-сервер может упасть или сбросить соединение.
Проблема устранена в версии Redis 8.2.2, где имя чанка жёстко закрепляется на Lua-стеке до завершения разбора. Соответствующее исправление доступно в коммите d5728cb . Специалисты рекомендуют обновиться до Redis 8.2.2 или более новой версии. При невозможности обновления — отключить возможность выполнения Lua-скриптов для ненадёжных пользователей.