CVE-2021-22204
Perl Exiftool
2021-11-17
Improper neutralization of user data in the DjVu file format in Exiftool versions 7.44 and up allows arbitrary code execution when parsing the malicious image
Технический анализ и план устранения
Суть уязвимости
Уязвимость (CVE-2021-22204) в ExifTool версий 7.44 и выше позволяет выполнить произвольный код на сервере. Атакующий может внедрить вредоносные команды в метаданные файла формата DjVu (например, изображение .djvu). Когда уязвимый ExifTool обрабатывает такой файл (например, для извлечения тегов), встроенные команды выполняются с привилегиями пользователя, запустившего процесс.
Как исправить
Обновите ExifTool до версии 12.24 или выше, в которой уязвимость исправлена.
Для Linux (используя менеджер пакетов):
# Для систем на базе Debian/Ubuntu
sudo apt update
sudo apt install libimage-exiftool-perl
# Проверьте версию после установки
exiftool -ver
Убедитесь, что вывод команды exiftool -ver — 12.24 или выше.
Для Windows: Скачайте и установите последнюю версию с официального сайта: https://exiftool.org/. Удалите старую версию перед установкой.
Если ExifTool установлен через CPAN (Perl):
sudo cpan Image::ExifTool
Временное решение
Если немедленное обновление невозможно:
1. Ограничьте обработку файлов DjVu. Настройте приложения (например, CMS, скрипты загрузки файлов) на отказ в обработке или удаление файлов с расширениями .djvu, .djv.
2. Используйте WAF (Web Application Firewall). Настройте правила для блокировки загрузки файлов, содержащих в теле или заголовках (Content-Type) признаки формата DjVu.
3. Запускайте ExifTool в изолированном окружении. Используйте chroot, контейнеры (Docker) или песочницу с минимальными привилегиями для процесса, который вызывает ExifTool.
4. Проверяйте входные данные. Перед передачей файла в ExifTool добавьте проверку типа файла по его содержимому (magic bytes), а не только по расширению.