Anexos de Mensagens Privadas acessíveis a usuários não autenticados (missing auth check)

Descrição do Problema

Durante uma avaliação de segurança do nosso fórum Discourse personalizado, descobrimos um potencial problema de autenticação afetando anexos de imagem carregados em mensagens privadas.

Detalhes

  • API de Upload: /uploads.json

  • URL de Acesso: /uploads/default/original/1X/{file_name}

  • Reprodução:

    1. O usuário carrega uma imagem em uma mensagem privada (com for_private_message=true).

    2. A imagem resultante pode ser acessada através de um link direto por qualquer terceiro (incluindo usuários não logados ou usuários em modo anônimo).

Preocupação de Segurança

  • Espera-se que as imagens carregadas em mensagens privadas sejam confidenciais e acessíveis apenas aos participantes da conversa.

  • No entanto, como atualmente implementado, qualquer pessoa com o URL direto pode baixar esses arquivos, independentemente do status de autenticação ou autorização.

Perguntas

  • Este é o comportamento pretendido na implementação atual do Discourse?

  • Existem configurações ou plugins recomendados para garantir que os anexos de mensagens privadas sejam devidamente protegidos e visíveis apenas para usuários autorizados?

  • Este problema foi discutido ou abordado no projeto upstream do Discourse?

  • Existem melhores práticas para proteger uploads privados em implantações do Discourse?

Obrigado pela sua ajuda e conselhos sobre esta importante preocupação de segurança!

Pode valer a pena dar uma olhada:

1 curtida