CVE-2022-30333

RARLAB UnRAR

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

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

2022-08-09

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

RARLAB UnRAR on Linux and UNIX contains a directory traversal vulnerability, allowing an attacker to write to files during an extract (unpack) operation.

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

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

CVE-2022-30333 — это критическая уязвимость типа Directory Traversal (обход каталогов) в утилите UnRAR для систем Linux и UNIX. Проблема заключается в недостаточной проверке путей файлов внутри RAR-архива при его распаковке.

Злоумышленник может создать специально сформированный архив, содержащий символические ссылки (symlinks). При распаковке такого архива UnRAR позволяет записать файлы в произвольные директории за пределами целевого каталога. Это может привести к удаленному выполнению кода (RCE), если атакующий перезапишет критические системные файлы (например, .bashrc, authorized_keys или конфигурационные файлы сервисов).

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

Основным способом устранения уязвимости является обновление бинарного файла unrar до версии 6.12 или выше.

1. Обновление через менеджер пакетов (рекомендуется)

Для систем на базе Debian/Ubuntu:

sudo apt update && sudo apt install --only-upgrade unrar

Для систем на базе RHEL/CentOS/Fedora:

sudo dnf update unrar

2. Проверка установленной версии

Убедитесь, что версия UnRAR 6.12 или более поздняя:

unrar | head -n 1

3. Сборка из исходного кода (если пакеты в репозитории не обновлены)

Если в вашем дистрибутиве нет версии 6.12+, скачайте исходный код с официального сайта RARLAB и скомпилируйте его:

wget https://www.rarlab.com/rar/unrarsrc-6.12.7.tar.gz
tar -xzf unrarsrc-6.12.7.tar.gz
cd unrar
make -f makefile
sudo install -v -m 755 unrar /usr/local/bin

Временные меры

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

1. Ограничение прав доступа Запускайте процессы, использующие UnRAR (например, почтовые шлюзы или веб-сервисы), от имени пользователя с минимальными привилегиями в изолированной среде (chroot, контейнеры).

2. Использование альтернативного ПО Временно перейдите на использование 7-zip (p7zip), который не подвержен данной конкретной уязвимости в логике обработки путей UnRAR:

sudo apt install p7zip-full

3. Проверка архивов перед распаковкой Используйте команду просмотра содержимого архива без извлечения, чтобы выявить подозрительные пути или символические ссылки:

unrar l archive.rar