再現手順
Newuser max embedded media を 0 に設定します
- これにより、新規ユーザーは画像をアップロードする前にアップロードできなくなります

Embedded media post allowed groups を設定します
- 許可リストから特定のグループを除外します
- 許可されたグループに属していないユーザーが画像をアップロードすると:
- 画像はエディタに表示されることがあります
- 投稿を送信するときにのみブロックされます

- 問題
- 編集中に、ユーザーはアップロードされた画像のリンクをコピーして、アップロード制限を回避して投稿することができます
期待される動作
目標は、ユーザーが画像をアップロードできないようにすることです。許可されたグループに属していないユーザーは、エディタに埋め込みメディアを一切挿入できないはずです。これは、Newuser max embedded media = 0 が適用されたときと同様に、アップロード時にブロックされるべきです。
そうしないと、アップロードされた画像のリンクをコピーして、実質的にアップロードの制限を回避できてしまいます。
これも新しい問題かどうかわかりませんが、私たちも気づいたばかりです。
画像は、画像を貼り付けるとすぐにS3バケット(cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com)にアップロードされるようです。埋め込みチェックは投稿が送信されるまで行われませんが、その時点ですでに画像はバケット内に存在しており、以下のいずれかを使用してリンクすることができます。
- そのS3 URL
- そのDiscourseショートURL
- その生成された
upload:// URL(つまり、自動生成されたアップロード埋め込みコードの先頭から ! を削除するだけ)
これにより、埋め込みに失敗したアップロード(その後拒否されたアップロードの試行)でさえもバケットにアップロードされ、サイトのストレージクォータに密かにカウントされているのではないかと懸念しています。アップロード者が拒否されたと思い、他の誰もそのアップロードを見ることができない場合でも。
残念ながら、このバグはかなり長い間修正されていないようです。