ディレクトリトラバーサル: /uploads/* により、ディレクトリを跨いだファイルアクセスが可能

問題の説明

カスタム Discourse デプロイメントのセキュリティ評価中に、/uploads/* エンドポイントに関連する潜在的なディレクトリトラバーサル脆弱性を発見しました。

問題の詳細

  • /uploads/ にアクセスすると、ユーザーは URL パスを操作することで、任意のアップロードディレクトリからファイルを取得できます。

  • たとえば、論理的に分離または保護されるべき異なるアップロードディレクトリを横断してファイルにアクセスすることが可能です。

  • この動作により、権限のないユーザーが意図しない機密ファイルや添付ファイルにアクセスできる可能性があり、セキュリティリスクとなります。

ユーザー A がプライベートメッセージ(またはその他の制限されたコンテキスト)にファイルをアップロードしたと仮定します。

攻撃者は次のような URL を作成できます。

https:///uploads/default/original/1X/../../another_directory/secret_file.jpg

これにより、攻撃者はディレクトリツリーを上に移動し、他のディレクトリのファイルにアクセスできます。

セキュリティへの影響

  • プライベート、内部、またはその他の制限されたファイルの不正開示

  • ファイルの内容によっては、エスカレーションの可能性

質問 / フィードバック募集

  • 現在のアップロード実装で予期される動作ですか?

  • /uploads/ でのディレクトリトラバーサルを防ぐための推奨される構成またはパッチはありますか?

  • この問題は、アップストリームの Discourse で議論または緩和されましたか?

  • Discourse デプロイメントでのファイルアクセスをさらに保護するためのガイダンスはありますか?

この潜在的な問題に対するご配慮とフィードバックに感謝いたします。

secure-uploads 機能に興味があるかもしれません。

「いいね!」 3