무슨 일이 있었나
fast-mcp-telegram의 파일 URL 다운로더에 있는 SSRF 차단 목록은 리터럴 호스트 이름 문자열만 검증했기 때문에 우회 가능했습니다; 공격자는 루프백 또는 개인 주소로 확인되는 도메인(localtest.me → 127.0.0.1 및 internal-service.local → 10.x에 대한 모의 getaddrinfo로 테스트에서 입증)을 제공할 수 있었습니다. DNS 확인 검증을 추가하여 30.1에서 수정되었습니다.
왜 중요한가
Telegram MCP 서버는 일반적으로 내부 인프라에 네트워크로 연결된 분석가/운영자 머신에서 실행됩니다; 에이전트가 호출 가능한 MCP 도구를 통해 도달 가능한 SSRF는 손상된 프롬프트나 손상된 에이전트가 도구 서버에서 내부 서비스 및 클라우드 메타데이터 엔드포인트로 피벗할 수 있게 합니다.
공격 경로
send_message 도구는 서버가 가져와 발신 Telegram 메시지에 첨부하는 파일 URL 목록을 허용합니다; _validate_url_security는 리터럴 localhost/개인 문자열을 차단하지만 127.0.0.1 또는 10.x.x.x로 확인되는 도메인(예: localtest.me → 127.0.0.1)은 확인하지 않아 내부 서비스 및 클라우드 메타데이터에 대한 SSRF를 가능하게 합니다.
영향받는 시스템
leshchenko1979/fast-mcp-telegram < 30.1 (send_message / send_message_to_phone 도구)
완화 방안
URL 검증이 호스트 이름 문자열뿐만 아니라 확인된 주소와 일치하도록 socket.getaddrinfo DNS 확인 검사를 추가하는 fast-mcp-telegram >= 30.1(커밋 e6b3032)로 업그레이드하십시오.