CVE-2019-16255: Уязвимость внедрения кода в Shell#[] и Shell#test

Была обнаружена уязвимость внедрения кода в Shell#[] и Shell#test в стандартной библиотеке (lib/shell.rb). Уязвимости присвоен идентификатор CVE-2019-16255.

Подробности

Shell#[] и его алиас Shell#test определенные в lib/shell.rb допускают инъекцию кода, если первый аргумент (он же аргумент “команда”) является недоверенными данными. Злоумышленник может использовать это для вызова произвольного метода Ruby.

Обратите внимание, что передача недоверенных данных в методы взаимодействия с оболочкой опасно. Пользователи никогда не должны этого делать. Однако мы рассматриваем этот конкретный случай как уязвимость, поскольку назначением Shell#[] и Shell#test считается тестирование файлов.

Все пользователи, работающие с уязвимой версией, должны немедленно обновиться.

Уязвимые Версии

  • Все выпуски Ruby 2.3 и меньше
  • Серия Ruby 2.4: Ruby 2.4.7 и меньше
  • Серия Ruby 2.5: Ruby 2.5.6 и меньше
  • Серия Ruby 2.6: Ruby 2.6.4 и меньше
  • Ruby 2.7.0-preview1

Благодарности

Спасибо ooooooo_q за обнаружение этой уязвимости

История

  • Первоначально опубликовано в 2019-10-01 11:00:00 (UTC)
  • Исправлена незначительная орфографическая проблема в 2019-10-05 12:00:00 (UTC)