Уязвимость Discourse CVE-2021-41163

Всем привет,

Недавно я узнал об этой уязвимости безопасности в Discourse NVD - CVE-2021-41163 (nist.gov)

Меня это заинтересовало, так как она затрагивает URL /webhooks/aws. Затронут ли этим уязвимостью также Discourse, размещённый в Azure?

Каждый экземпляр подвержен влиянию (если не установлен патч), независимо от того, где он размещён.

Привет, @Falco, спасибо за быстрый ответ!

Я не эксперт по Ruby, но мне казалось, что эта строка кода предотвратит выполнение уязвимого участка на Azure, так как она должна возвращать false? Пожалуйста, поправьте меня, если я ошибаюсь, так как я не знаю Ruby.

Также, как временное решение (полный «пластырь»), которое НЕ РЕКОМЕНДУЕТСЯ, поскольку обновление на 100% является лучшим решением: не могли бы вы отредактировать файл nginx, чтобы временно исправить проблему до обновления?
Вот как это сделать:

  1. Подключитесь к серверу по SSH.
  2. Перейдите в директорию /var/discourse.
  3. Запустите команду ./launcher enter app.
  4. Перейдите в директорию /etc/nginx/conf.d/.
  5. Отредактируйте файл discourse.conf.
  6. Добавьте следующее:
location ~* /webhooks/aws {
    deny all;
}
  1. Выполните команду sv restart nginx.

Я намерен обновиться, и очень скоро. Но мне понадобится около недели, чтобы организовать всё для рабочей среды, и я хотел бы быть в безопасности в это время.

Эта строка выполнится в любом случае, так как этот параметр является пользовательским вводом.

Это может сработать, но, как вы сами отметили, это лишь временная мера. Пересборка удалит это исправление, и будьте очень осторожны при тестировании, так как конфигурацию nginx очень сложно настроить правильно.

Исходя из данных нашей команды по безопасности, это не ошибка Discourse. Эта ошибка находится в нашей системе распределения сообщений SNS (MDS) (здесь мы не можем вдаваться в детали), что означает, что она затронет каждый пакет, который использует или использует службу SNS.

Да, проблема действительно вызвана ошибкой в библиотеке aws-sdk-sns. Однако важно понимать, что, поскольку Discourse использует эту библиотеку и делает уязвимость доступной для всех, каждый экземпляр Discourse подвержен риску, даже если он фактически не использует сервис AWS SNS.

Таким образом, хотя это не «ошибка Discourse», это действительно «уязвимость безопасности в Discourse».

Исправлена ли эта уязвимость? Спасибо.

Да, но убедитесь, что вы применили патч. Прочитайте тему. :slight_smile:

Разве простое

приложение для восстановления запуска

не поможет исправить эту уязвимость?

./launcher rebuild app применит последние обновления к вашему экземпляру Discourse и включит исправление для этой проблемы :+1:

Официальная информация доступна по адресу RCE via malicious SNS subscription payload · Advisory · discourse/discourse · GitHub

Звучит лучше :slight_smile: