Сообщение об ошибке: Shelljs 0.8.3 и более ранние уязвимы для внедрения команд - PullRequest
0 голосов
/ 28 июня 2019

Я получаю эту ошибку в оповещениях GitHub после обновления моего проекта до версии 8.0.3.

Это уязвимость без исправлений.

Исправленная версия недоступна.

Shelljs 0.8.3 and before are vulnerable to Command Injection.
Commands can be invoked from shell.exec(),
those commands will include input from external sources,
to be passed as arguments to system executables
and allowing an attacker to inject arbitrary commands.

У кого-нибудь есть информация по этому вопросу?

Ответы [ 2 ]

1 голос
/ 09 июля 2019

Я сопровождающий ShellJS. Подробности в этом комментарии , но подведем итог:

  • Это не уязвимость в ShellJS
  • Возможно ненадлежащим образом использовать shell.exec() или child_process.exec(), поэтому прямые зависимости должны соответствовать нашим рекомендациям по безопасности
  • Модули, которые транзитивно используют ShellJS, должны либо доверять своим зависимостям для проверки правильности их использования (предыдущий пункт), либо просматривать свое дерево зависимостей для проверки этих зависимостей
    • Недостаточно искать пакеты с использованием ShellJS, потому что child_process.exec() имеет такую ​​же возможность для неправильного использования (и это API-интерфейс основного узла, поэтому он не отображается в файлах блокировки пакетов)

В предыдущем ответе говорится, что это «может быть» уязвимостью, но с тех пор я пояснил в потоке Github, что это не уязвимость в нашем модуле , и нужны прямые зависимости чтобы убедиться, что они используют наш модуль безопасно и надежно.

1 голос
/ 28 июня 2019

Согласно этой теме , это может быть ложная тревога.Май это ключевое слово.Вы не можете передавать пользовательский ввод в модуль оболочки.Многие люди, и тогда это огромная проблема.Пока вы никогда не передадите пользовательский ввод в exec, вы можете использовать инструмент GitHub, чтобы отключить это предупреждение.

...