Я сделал эти скриншоты, не будучи авторизованным. Значит, я точно не состоял в этой группе, но всё равно мог видеть эти сообщения. То же самое касается всех ответов. Поскольку сообщения видны даже анонимным пользователям, почему появляется это уведомление при клике на дату сообщения?
Да, я могу воспроизвести это, и это выглядит как ошибка.
https://meta.discourse.org/c/61/visible_groups.json
возвращает
{"success":"OK","groups":["theme_authors"]}
Независимо от того, авторизован я или анонимен.
@jamie.wilson, не знаете, является ли это задуманным поведением? Мне кажется, я ничего не менял в рамках исправления уязвимостей безопасности.
Я тоже смог это воспроизвести. Я впервые заметил это несколько недель назад (примерно в то время, когда была внедрена единая диалоговая окно для обмена), но я махнул на это рукой и решил не создавать тему об этом.
По-моему, это сообщение должно появляться при попытке поделиться ссылкой из приватной категории (например, The Lounge), чтобы напомнить, что не все смогут перейти по ней и увидеть контент. Похоже, оно появляется в случаях, когда не должно. Передам это в bug ![]()
Похоже, нам нужно немного доработать логику в visible_groups.
В данном случае, поскольку theme_authors видны всем, предупреждение излишне.
SECURITY: Category group permissions leaked to normal users. · discourse/discourse@0f7b987 · GitHub
Похоже, мы утратили эту логику после удаления этой строки. Нам понадобится нечто подобное на бэкенде, так как мы больше не передаем эту информацию на клиент.
Спасибо за шаги по воспроизведению! Я исправил ошибку в этом PR:


