Исследователи компании Wiz обнаружили в СУБД Redis критическую уязвимость CVE-2025-49844, позволяющую добиться удалённого выполнения произвольного кода (RCE) на сервере. Уязвимости присвоен максимальный уровень опасности — CVSS 10.0 из 10. Для её эксплуатации злоумышленнику необходимо иметь возможность отправлять запросы к экземпляру Redis, в котором разрешено выполнение пользовательских Lua-скриптов.
Помимо публично доступных серверов Redis, работающих без аутентификации, под угрозой также находятся облачные платформы и хостинги, предоставляющие управляемые Redis-сервисы. По данным Wiz, в глобальной сети обнаружено около 330 000 открытых Redis-серверов, из которых 60 000 принимают подключения без каких-либо средств проверки подлинности. Отмечается, что официальный Docker-образ Redis по умолчанию настроен без аутентификации, что усугубляет ситуацию.
Уязвимость вызвана ошибкой use-after-free (обращение к уже освобождённой памяти), возникающей при манипуляциях со сборщиком мусора из специально составленного Lua-скрипта. Это позволяет обойти sandbox-изоляцию среды выполнения Lua и выполнить произвольный код в контексте основного процесса Redis с правами пользователя, от которого запущена СУБД. Примечательно, что ошибка оставалась незамеченной в течение 13 лет. Авторы уязвимости продемонстрировали рабочий эксплоит, но пока не раскрывают технические детали, чтобы дать администраторам время на обновление.
Проблема также затрагивает Valkey — форк Redis, который используется во многих дистрибутивах Linux, включая Red Hat Enterprise Linux 10.
Уязвимость устранена в следующих версиях:
Помимо публично доступных серверов Redis, работающих без аутентификации, под угрозой также находятся облачные платформы и хостинги, предоставляющие управляемые Redis-сервисы. По данным Wiz, в глобальной сети обнаружено около 330 000 открытых Redis-серверов, из которых 60 000 принимают подключения без каких-либо средств проверки подлинности. Отмечается, что официальный Docker-образ Redis по умолчанию настроен без аутентификации, что усугубляет ситуацию.
Уязвимость вызвана ошибкой use-after-free (обращение к уже освобождённой памяти), возникающей при манипуляциях со сборщиком мусора из специально составленного Lua-скрипта. Это позволяет обойти sandbox-изоляцию среды выполнения Lua и выполнить произвольный код в контексте основного процесса Redis с правами пользователя, от которого запущена СУБД. Примечательно, что ошибка оставалась незамеченной в течение 13 лет. Авторы уязвимости продемонстрировали рабочий эксплоит, но пока не раскрывают технические детали, чтобы дать администраторам время на обновление.
Проблема также затрагивает Valkey — форк Redis, который используется во многих дистрибутивах Linux, включая Red Hat Enterprise Linux 10.
Уязвимость устранена в следующих версиях:
- Redis: 8.2.2, 8.0.4, 7.4.6, 7.2.11, 6.2.20
- Valkey: 8.1.4, 8.0.6, 7.2.11
Администраторы могут проверить статус обновлений в своих дистрибутивах на официальных страницах: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo, Arch, FreeBSD, OpenBSD и NetBSD.
В качестве временной меры защиты рекомендуется отключить выполнение Lua-скриптов, запретив команды EVAL и EVALSHA через систему ACL.
Кроме того, в тех же релизах исправлены ещё три уязвимости, связанные с Lua-скриптами:
- CVE-2025-46817 — целочисленное переполнение в Lua-библиотечных функциях, потенциально ведущее к RCE.
- CVE-2025-46819 — чтение за пределами буфера, способное вызвать аварийное завершение Redis.
- CVE-2025-46818 — возможность выполнения команд от имени другого пользователя СУБД через манипуляции с Lua-объектами.
Для защиты от всех этих уязвимостей через ACL также рекомендуется заблокировать всё семейство команд EVAL и FUNCTION.