# 보안 문제가 있는 메일링 리스트 미러링 버그

**URL:** <https://meta.discourse.org/t/mailing-list-mirroring-bug-with-security-implications/226849>\
**Category:** Support\
**Created:** [5월 12, 2022, 9:46오전 UTC](https://meta.discourse.org/t/mailing-list-mirroring-bug-with-security-implications/226849 "2022-05-12T09:46:17Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![markcoley](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markcoley/32/242366_2.png) [@markcoley](https://meta.discourse.org/u/markcoley)\
**Post date:** [5월 22, 2022, 11:16오전 UTC](https://meta.discourse.org/t/mailing-list-mirroring-bug-with-security-implications/226849/6 "2022-05-22T11:16:24Z")

</div>

해결책 중 하나로, 메일 클라이언트가 생성한 원래 ID를 반영하면서 추가 식별자(예: Discourse가 이미 참조하는 메일링 리스트의 To: 주소)를 붙여 message-id를 다시 작성하는 옵션을 제공하는 것은 어떨까요? 이렇게 하면 메일링 리스트 B에서 들어온 게시물이 메일링 리스트 A의 게시물에도 존재하는 message-id 헤더를 참조하고 있을 경우, Discourse가 이를 올바르게 분류할 수 있을 것입니다.

예를 들어, 사용자가 두 개의 메일링 리스트 A와 B에 동시에 원본 이메일을 보내고, 고유한 message-id가 '1234567890gmail’이라고 가정해 보겠습니다.

Discourse는 일반 수신 주소로 전달된 두 개의 사본을 받게 됩니다. 첫 번째 메시지는 To: 주소가 리스트 A를 가리키므로 리스트 A 기준으로 분류되고, Discourse가 message-id 뒤에 추가 문자를 붙여 '1234567890gmailListA’로 만듭니다. 두 번째 메시지는 중복으로 판단되어 분류되지 않습니다. (이것이 현재 동작 방식이라고 생각합니다.)

리스트 B의 누군가가 리스트 B의 To: 주소를 사용하여 답장을 보냅니다. Discourse는 사본을 받고 '1234567890gmail’을 포함하는 in-reply-to 헤더를 발견합니다. Discourse는 이메일이 리스트 B를 반영하는 To: 줄을 가지고 들어왔으므로, 끝에 문자를 추가하여 in-reply-to 헤더를 '1234567890gmailListB’처럼 보이게 합니다. 그리고 더 이상 리스트 A에 분류된 메시지와 연결되어 있지 않으므로, 이를 올바른 카테고리에 있는 새로운 메시지로 분류합니다.

이 방식은 아카이브 이전에도 적용될 수 있습니다. 사용자가 여러 리스트에 동시에 메시지를 보낸 경우, 동일한 message-id가 여러 메일링 리스트에서 발견될 수 있기 때문입니다. 가져오기 시점에 모든 message-id 필드(및 in-reply-to)에 이름이 지정된 메일링 리스트와 연결된 고유 텍스트를 추가하여, 메시지가 인덱싱될 때 아카이브 간의 일종의 교차 간섭을 방지할 수 있습니다.

---

_[View the full topic](https://meta.discourse.org/t/mailing-list-mirroring-bug-with-security-implications/226849)._
