🇰🇷 한글 설명
matrix-appservice-irc는 Matrix 메시징 프로토콜용 IRC 브릿지 노드.js 애플리케이션입니다. 2.0.0 버전의 보안 수정이 homeserver가 제공하는 타임스탬프를 신뢰하여 메시지 접근 권한을 검증했는데, 악의적인 homeserver가 이를 조작하여 접근 권한이 없는 메시지를 유출할 수 있습니다. 2.0.1 버전에서는 내부 타임스탐프 추적으로 이를 해결했습니다.
💡 쉬운 설명
IRC 채팅 연결 프로그램이 외부 서버의 시간 정보를 너무 믿어서, 나쁜 의도의 서버가 시간을 속여서 비공개 메시지를 훔칠 수 있습니다. 새 버전으로 업데이트하면 자체 시간 기록을 사용하므로 이 문제가 해결됩니다.
🇺🇸 원문 (English)
matrix-appservice-irc is a Node.js IRC bridge for the Matrix messaging protocol. The fix for GHSA-wm4w-7h2q-3pf7 / CVE-2024-32000 included in matrix-appservice-irc 2.0.0 relied on the Matrix homeserver-provided timestamp to determine whether a user has access to the event they're replying to when determining whether or not to include a truncated version of the original event in the IRC message. Since this value is controlled by external entities, a malicious Matrix homeserver joined to a room in which a matrix-appservice-irc bridge instance (before version 2.0.1) is present can fabricate the timestamp with the intent of tricking the bridge into leaking room messages the homeserver should not have access to. matrix-appservice-irc 2.0.1 drops the reliance on `origin_server_ts` when determining whether or not an event should be visible to a user, instead tracking the event timestamps internally. As a workaround, it's possible to limit the amount of information leaked by setting a reply template that doesn't contain the original message.
📍 영향받는 시스템
matrix-appservice-irc 버전 2.0.0 이전
⚔️ 공격 벡터
악의적인 Matrix homeserver가 timestamp를 조작하여 브릿지가 접근 권한이 없는 이벤트를 유출하도록 유도
🛡️ 대응 방법
matrix-appservice-irc를 2.0.1 이상으로 업그레이드하거나 reply template 설정 수정으로 원본 메시지 미포함
🔧 검증 코드
출력된 버전이 2.0.1 이상이면 안전, 2.0.0 이하면 취약함
cat node_modules/matrix-appservice-irc/package.json 2>/dev/null | grep '"version"' | head -1