Уязвимость CVE-2025-49844 в Redis угрожает десяткам тысяч серверов — эксплуатация позволяет выполнять код удалённо
В Redis обнаружена критическая уязвимость CVE-2025-49844 (CVSS 10.0), позволяющая аутентифицированному пользователю выполнить произвольный код через уязвимость Use-After-Free в интерпретаторе Lua. Уязвимость существует 13 лет, затрагивает все версии с поддержкой Lua, и остаётся незакрытой в самостоятельных установках. Около 60 тыс. экземпляров Redis доступны в интернете без аутентификации.
В системе управления базами данных Redis обнаружена критическая уязвимость CVE-2025-49844, позволяющая аутентифицированному пользователю выполнять произвольный код на сервере. Уязвимость связана с ошибкой типа Use-After-Free в интерпретаторе Lua, который встроен в Redis для выполнения пользовательских скриптов. Проблема существует с 2012 года и не была устранена до 2025 года, несмотря на то, что механизм сборки мусора в Lua допускает освобождение памяти с сохранением указателей на неё.
При эксплуатации злоумышленник отправляет специально сформированный скрипт на Lua, который вызывает некорректное освобождение объекта в памяти, после чего использует оставшийся указатель для записи произвольных данных. Это позволяет выйти из изолированной среды выполнения Lua и выполнить код в контексте процесса Redis, что даёт полный контроль над сервером. Уязвимость затрагивает все версии Redis, в которых включена поддержка Lua — это стандартная конфигурация в большинстве развертываний.

Успешная эксплуатация позволяет злоумышленнику:
— извлекать данные из базы, включая ключи, токены, конфигурации;
— устанавливать вредоносные программы, включая майнеры криптовалют;
— использовать сервер как точку входа для атак на смежные системы в сети;
— внедряться в облачные среды, где Redis используется как кэш или брокер сообщений.

По данным исследователей из Wiz, Redis используется в 75% облачных инфраструктур, что делает её одним из самых распространённых компонентов в современных системах. Оценка инфраструктуры, доступной через интернет, показала наличие около 330 тыс. экземпляров Redis, из которых 60 тыс. работают без включённой аутентификации — то есть доступны для подключения без пароля. Согласно данным Trend Micro, более 2 тыс. из этих экземпляров используются в средах, где Redis интегрирован с ИИ-сервисами, что повышает ценность целей для атак.

Разработчики Redis не выпустили патч, поскольку уязвимость требует предварительного доступа к серверу — то есть злоумышленник должен уже иметь учётные данные. Тем не менее, в случае, если сервер доступен из интернета без аутентификации, или если учётные данные были скомпрометированы (например, через утечку в конфигурации, слабые пароли или уязвимости в смежных сервисах), эксплуатация становится тривиальной.

Рекомендуемые меры защиты включают:
— обязательное включение аутентификации через команду requirepass в конфигурации;
— отключение поддержки Lua, если она не используется — через параметр lua-time-limit 0 и запрет команд EVAL, EVALSHA;
— запуск процесса Redis от имени непривилегированного пользователя, не имеющего прав root;
— ограничение сетевого доступа к Redis через брандмауэр — только с доверенных IP-адресов;
— мониторинг сетевого трафика на необычные подключения, а также сканирование баз данных на наличие подозрительных скриптов Lua.

Эксплуатация уязвимости не требует сложных техник — достаточно одного скрипта и доступа к серверу. Учитывая, что Redis часто развертывается в кластерах, используемых для кэширования и хранения сессий, компрометация одного экземпляра может привести к масштабному сбою в работе приложений. В частности, в облачных средах, где Redis интегрирован с Kubernetes, API-шлюзами или системами управления микросервисами, последствия могут распространиться на десятки сервисов.

Redis Cloud, как управляемый сервис, уже применил меры защиты — но это не распространяется на самостоятельные установки, которые составляют основную массу развертываний. Администраторы должны самостоятельно проверить свои экземпляры на предмет:
— отсутствия пароля в конфигурации;
— включённой поддержки Lua;
— наличия неизвестных скриптов в базе данных;
— аномального сетевого трафика, особенно исходящего на неизвестные адреса.

Несмотря на то, что до сих пор не зафиксировано ни одного публичного случая эксплуатации, уязвимость оставалась в коде 13 лет — это указывает на системный дефицит в анализе уязвимостей в инфраструктурных компонентах, которые считаются «надёжными» из-за их простоты. В условиях, когда Redis используется в критических системах — от финансовых платформ до ИИ-сервисов — отсутствие патча делает десятки тысяч серверов потенциально уязвимыми к целенаправленным атакам.
© 08.10.2025

Контакты:
info@smartinfra.ru
105118, г. Москва,
ул. Буракова, 27 к3,
3 этаж, офис 322

© 2025