Уязвимость в сканере Nuclei позволяла обойти проверку подписи и выполнить код

BOOX

Стаж на ФС с 2012 года
Команда форума
Служба безопасности
Private Club
Регистрация
23/1/18
Сообщения
30.476
Репутация
11.900
Реакции
62.765
RUB
50
В популярном опенсорсном сканере уязвимостей Nuclei обнаружена и исправлена уязвимость, которая позволяла злоумышленникам обходить проверку подписи и внедрять вредоносный код в шаблоны, работающие в локальных системах.

Nuclei представляет собой сканер уязвимостей с открытым исходным кодом, разработанный ProjectDiscovery. Он используется для сканирования сайтов, облачных платформ, инфраструктур и сетей в поисках уязвимостей и других слабых мест. При этом система сканирования строится основе шаблонов и предлагает более 10 000 YAML-шаблонов, проверяющих ресурсы на предмет известных багов, неправильных конфигураций, незащищенных файлов, веб-шеллов, бэкдоров и так далее.

Безымянный.jpg

Такие YAML-шаблоны могут использоваться для локального выполнения команд или скриптов на устройстве (для расширения их функциональности). Каждый шаблон «подписан» и Nuclei использует эту подпись для проверки того, что шаблон не был изменен и не содержит вредоносного кода. Специальный хеш для этого добавляется в конец шаблона в формате: # digest: <hash>.

Исследователи из компании Wiz уязвимость в Nuclei ( , 7,4 балла по шкале CVSS), которая позволяла обойти описанную проверку, даже если шаблон из был изменен и содержит вредоносный код.

Проблема связана с использованием регулярных выражений Go и тем, как парсер YAML обрабатывает переносы строк при проверке подписи. Так, в логике Go \r рассматривается как часть одной строки. Однако парсер YAML интерпретирует это как разрыв строки. В итоге это несоответствие позволяет внедрять в шаблоны вредоносное содержимое, которое обходит проверки и выполняется при обработке парсером YAML.



Еще одна проблема заключается в том, как Nuclei обрабатывает несколько строк # digest:. Оказалось, что проверяется только первое значение # digest: в шаблоне, а все дополнительные, встречающиеся после, игнорируются, хотя пригодны для анализа и выполнения.

Этим тоже могут злоупотреблять злоумышленники, добавляя дополнительные вредоносные # digest: и полезные нагрузки после первоначального # digest:. Они могут содержать вредоносный раздел , который затем будет выполнен при использовании шаблона.

Разработчики ProjectDiscovery устранили эти проблемы 4 сентября 2024 года, в составе Nuclei .

Теперь всем пользователям старых версий Nuclei настоятельно рекомендуется обновиться. Также исследователи отмечают, что использовать Nuclei лучше на виртуальной машине или в изолированной среде, чтобы предотвратить потенциальные атаки через вредоносные шаблоны.


 
  • Теги
    nuclei сканер уязвимостей nuclei
  • Назад
    Сверху Снизу