🇰🇷 한글 설명
Dendrite 0.13.8 이하 버전에는 레거시 미디어 다운로드 엔드포인트의 serverName 파라미터를 검증하지 않아 발생하는 SSRF 취약점이 존재합니다. 인증되지 않은 공격자가 서버로 하여금 임의의 호스트와 포트로 아웃바운드 TLS 연결을 열도록 할 수 있습니다. 또한 에러 응답 차이와 에러 메시지에 노출된 내부 IP 주소를 이용해 블라인드 포트 스캔과 내부 네트워크 구조 파악이 가능합니다.
💡 쉬운 설명
공격자가 서버를 대신 움직여 다른 컴퓨터에 접속하게 만들 수 있는 문제입니다. 이를 통해 회사 내부망의 어떤 장비가 켜져 있고 어떤 서비스가 열려 있는지 몰래 조사할 수 있습니다.
🇺🇸 원문 (English)
Dendrite through 0.13.8 contains a server-side request forgery vulnerability that allows unauthenticated attackers to cause the server to open outbound TLS connections to arbitrary hosts and ports by supplying an unvalidated serverName parameter to the legacy media download endpoint. Attackers can exploit distinguishable error response classes and leaked internal IP addresses in error messages to perform blind port scanning and enumerate internal network topology.
📍 영향받는 시스템
Dendrite 0.13.8 이하 버전 (Matrix 홈서버)
⚔️ 공격 벡터
인증 없이 레거시 미디어 다운로드 엔드포인트의 serverName 파라미터에 내부 주소를 넣어 요청을 보내 서버가 임의의 호스트·포트로 연결하게 함
🛡️ 대응 방법
Dendrite를 0.13.9 이후 버전으로 업그레이드하고, serverName 값에 대한 검증 및 내부 주소 차단 정책을 적용하며, 에러 메시지의 내부 IP 노출을 제거
🔧 검증 코드
출력된 버전이 0.13.8 이하이면 취약하며, 0.13.9 이상이면 이 CVE에 대해 패치된 상태입니다.
dendrite --version 2>/dev/null || docker exec dendrite /usr/bin/dendrite --version 2>/dev/null