メーリングリストのミラーリングバグとセキュリティへの影響

メッセージが同じであるため、単一のメッセージIDを持つと主張することもできます。実際、問題の例では、元の投稿者はGmailでメッセージを作成し(メッセージIDを割り当てた)、同じサーバー上の2つのリストサーブアドレスに送信しました。これは珍しいことではありません。たとえば、マネージャーと臨床医の両方に共通するニュースリリースであり、それぞれが独自のメーリングリストに属している可能性があります。ニュースリリースには議論が必要な医学的問題がある可能性があり、臨床医が返信した場合(返信先:アドレスは臨床医リストに設定されますが、宛先:ヘッダーには両方のメーリングリストが記載されています)。同様に、マネージャーは自身の見解を議論したい場合があります。返信すると、関連する返信先:ヘッダーがマネージャーリストを反映するように使用されます。投稿者が宛先:アドレスを使用して「全員に返信」した場合、メンバーではないリストからバウンスメッセージが生成されます。

上記の動作はそれほど珍しいものではありませんが、Discourseはメーリングリストミラーとして使用された場合に正しく処理できず、フォークされた返信を分離できないようです。これは、それらがすべて元のメッセージIDと、その投稿が最初に表示されたカテゴリに紐付けられるためです。

これは、たとえば臨床医が臨床医リストに返信した場合、Discourseがメッセージをファイルする方法により、その投稿がマネージャーリストのミラーに表示されると、マネージャーが臨床医の投稿を見ることができる可能性があることを意味します。

解決策としては、受信メッセージの宛先:ヘッダーの各アドレスを確認し、各カテゴリ設定のメーリングリストミラーアドレスと一致するかどうかを確認することが考えられます。一致した場合、メッセージのコピーが一致する各カテゴリに投稿される可能性があり、潜在的に複数のカテゴリに投稿のコピーが複数存在する可能性があります。その後、返信があった場合、メッセージIDは現在のように使用できますが、宛先:行がカテゴリとも一致した場合に限ります。