비공개 대화에서 이미지 전송 시 블라인드 SSRF

아래 이슈에 대한 Hackerone 보고서를 접수했습니다.

궁금한 점은 다음과 같습니다:

  • 이는 문제인지
  • 이에 대한 제안이나 제가 취할 수 있는 조치가 있는지

요약:

안녕하세요, hxxps://xyz.com/posts 엔드포인트에서 블라인드 SSRF를 발견했습니다.

재현 방법:

  1. xyz.com에서 계정에 로그인합니다.
  2. 개인 메시지로 이동합니다 (디스코 봇에서 온 인사 메시지가 있을 것입니다).
  3. 메시지를 보내면서 이미지를 업로드하고 Burp에서 요청을 가로채습니다.
  4. 페이로드에서 이미지 업로드 URL을 자신의 카나리 URL로 변경합니다.
  5. 페이로드는 다음과 같이 보입니다.

raw=![svg_image|690x388]>(hxxp://canarytokens.com/tags/images/terms/ctw75qckq1htf6n3rt9asrpn3/submit.aspx) &unlist_topic=false&category=&topic_id=1659497&is_warning=false&whisper=false&archetype=regular&composer_open_duration_msecs=12597&featured_link=&shared_draft=false&draft_key=topic_1659497&reply_to_post_number=83&image_sizes[hxxps://xyz.cloudfront.net/uploads/default/original/4X/c/a/9/ca90daba5408ce8b8693f3a5d58e537eb750e906.svg][width]=5120&image_sizes[hxxps://xyz.cloudfront.net/uploads/default/original/4X/c/a/9/ca90daba5408ce8b8693f3a5d58e537eb750e906.svg][height]=2880&nested_post=true

  1. 요청을 보내면 두 개의 카나리 경고가 트리거되거나, 서버 로그를 확인하면 Ruby 사용자 에이전트에 의해 생성된 요청과 Amazon Compute Instance에서 온 요청 하나를 볼 수 있습니다.

영향

이 취약점은 공격자가 xyz.com 인스턴스의 네트워크 내에서 임의의 HTTP/HTTPS 요청을 수행할 수 있게 합니다.

이 스레드를 보면, 이는 onebox 동작으로 인한 것인 것으로 보입니다. Server-side request forgery vulnerability.
몇 년 전의 이 Hackerone 보고서 SSRF in upload IMG through URL도 확인했습니다.

감사합니다!

Discourse는 게시물에 포함된 이미지와 URL을 의도적으로 가져옵니다. 이러한 요청이 서버의 사설 네트워크 내 호스트를 대상으로 하지 않도록 하는 안전장치가 마련되어 있습니다. 'Canary token’에 대한 GET 요청을 수신했다는 사실만으로 취약점이 존재한다고 볼 수 없습니다.

연구자를 공식 HackerOne 프로그램으로 안내해 주시면 됩니다. 해당 정책에는 이 유형의 보고서가 포함되어 있습니다: