Специалисты компании Wiz выявили серьезную уязвимость (CVE-2024-43405) в популярном инструменте Nuclei, которая позволяет злоумышленникам обходить механизм проверки подписи шаблонов и выполнять произвольный код на целевых системах. Уязвимость получила оценку 7,4 балла по шкале CVSS, что указывает на высокий уровень опасности.
Механизм работы Nuclei и обнаруженная уязвимость
Nuclei представляет собой открытый инструмент для сканирования безопасности, разработанный ProjectDiscovery. Система использует более 10 000 YAML-шаблонов для поиска уязвимостей, ошибок конфигурации и других проблем безопасности в веб-приложениях, облачных платформах и сетевой инфраструктуре.
Технические детали уязвимости
Проблема возникает из-за несоответствия в обработке переносов строк между регулярными выражениями Go и YAML-парсером. В то время как Go интерпретирует \r как часть строки, YAML-парсер распознает его как разделитель строк. Это расхождение позволяет внедрять вредоносный код, который успешно обходит систему проверки подписей шаблонов.
Множественные векторы атаки
Исследователи обнаружили дополнительную уязвимость в механизме обработки директив # digest:. Nuclei проверяет только первое значение digest в файле, игнорируя последующие. Злоумышленники могут использовать эту особенность для внедрения вредоносного кода после легитимной подписи, который будет выполнен при обработке шаблона.
Меры защиты и рекомендации
ProjectDiscovery выпустила исправление в версии 3.3.2 от 4 сентября 2024 года. Специалисты по безопасности настоятельно рекомендуют:
— Немедленно обновить Nuclei до последней версии
— Использовать инструмент только в изолированных средах или виртуальных машинах
— Проверять происхождение всех используемых шаблонов
— Регулярно следить за обновлениями безопасности
Данный инцидент подчеркивает важность тщательной проверки механизмов безопасности даже в широко используемых инструментах. Организациям, использующим Nuclei, рекомендуется провести аудит своих систем и убедиться в отсутствии следов компрометации через уязвимые шаблоны.