CVE-2022-0543

Redis Debian-specific Redis Servers

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-03-28

Официальное описание

Redis is prone to a (Debian-specific) Lua sandbox escape, which could result in remote code execution.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость (CVE-2022-0543) существует только в пакетах Redis, собранных для Debian и производных дистрибутивов (Ubuntu, Mint). Проблема в неправильной изоляции Lua-песочницы. Атакующий, имеющий доступ к Redis-серверу, может выполнить произвольный Lua-скрипт, который обходит песочницу и выполняет системные команды на сервере с правами пользователя Redis (обычно redis). Это приводит к удаленному выполнению кода (RCE).

Как исправить

Обновите пакет redis-server до исправленной версии через менеджер пакетов apt. Исправление было выпущено в конце марта 2022 года.

  1. Обновите список пакетов: bash sudo apt update
  2. Обновите пакет redis-server до одной из безопасных версий:

    • Для Debian 11 (Bullseye): >= 5:6.0.16-1+deb11u2
    • Для Ubuntu 20.04 LTS (Focal): >= 5:5.0.7-2ubuntu0.1
    • Для Ubuntu 21.10 (Impish): >= 5:6.0.15-1ubuntu0.1
    • Для Ubuntu 22.04 LTS (Jammy): >= 5:6.0.16-1ubuntu1

    Выполните команду: bash sudo apt install --only-upgrade redis-server 3. Перезапустите службу Redis: bash sudo systemctl restart redis-server

Временное решение

Если немедленное обновление невозможно, примените следующие меры:

  1. Ограничьте сетевой доступ. Настройте брандмауэр (iptables, ufw), чтобы разрешать подключения к порту Redis (по умолчанию 6379) только с доверенных IP-адресов или внутренних сетей. bash # Пример для ufw (разрешить только с IP 192.168.1.100) sudo ufw allow from 192.168.1.100 to any port 6379
  2. Используйте аутентификацию Redis. Включите и настройте надежный пароль в конфигурационном файле /etc/redis/redis.conf: requirepass ваш_сложный_пароль_здесь После изменения конфигурации перезапустите Redis: sudo systemctl restart redis-server.
  3. Переименуйте или отключите опасные команды. В том же конфигурационном файле можно переименовать команду EVAL, используемую для выполнения Lua-скриптов, в случайную строку или отключить ее: rename-command EVAL "" Внимание: Это может нарушить работу приложений, использующих Lua-скрипты в Redis.