Вложения личных сообщений доступны неавторизованным пользователям (отсутствует проверка аутентификации)

Описание проблемы

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

Детали

  • API загрузки: /uploads.json

  • URL доступа: /uploads/default/original/1X/{file_name}

  • Воспроизведение:

    1. Пользователь загружает изображение в личное сообщение (с параметром for_private_message=true).

    2. Полученное изображение можно открыть по прямой ссылке любому третьему лицу (включая неавторизованных пользователей или пользователей в режиме инкогнито).

Проблемы безопасности

  • Ожидается, что изображения, загруженные в личных сообщениях, будут конфиденциальными и доступными только участникам переписки.

  • Однако в текущей реализации любой, кто имеет прямой URL, может загрузить эти файлы, независимо от статуса аутентификации или авторизации.

Вопросы

  • Является ли это ожидаемым поведением в текущей реализации Discourse?

  • Существуют ли рекомендуемые настройки или плагины для обеспечения надлежащей защиты вложений в личных сообщениях и их доступности только для авторизованных пользователей?

  • Обсуждалась ли или решалась ли эта проблема в основном проекте Discourse?

  • Существуют ли лучшие практики для защиты частных загрузок в развертываниях Discourse?

Спасибо за вашу помощь и советы по этому важному вопросу безопасности!

Стоит посмотреть: