🇰🇷 한글 설명
Refly 1.1.0 버전의 POST /v1/misc/scrape 엔드포인트에서 서버 측 요청 위조(SSRF) 취약점이 발견되었습니다. 인증된 공격자가 검증되지 않은 URL을 제공하여 서버가 내부 루프백, 사설 네트워크 또는 클라우드 메타데이터 서비스로 요청을 보내게 할 수 있습니다.
💡 쉬운 설명
해커가 서버를 속여서 서버 내부의 비밀 정보나 다른 컴퓨터에 접근하도록 만드는 취약점입니다. 이를 통해 서버가 원래는 접근하면 안 되는 내부 데이터에 접근할 수 있게 됩니다.
🇺🇸 원문 (English)
Refly through 1.1.0 contains a server-side request forgery vulnerability in the POST /v1/misc/scrape endpoint that fetches caller-supplied URLs without validating the scheme, host, or resolved address. Authenticated attackers can make the backend issue requests to loopback, private, and link-local addresses including cloud metadata services to read page titles and descriptions of internal resources.
⚔️ 공격 벡터
인증된 사용자가 검증되지 않은 URL을 포함한 POST 요청을 /v1/misc/scrape 엔드포인트로 전송
🛡️ 대응 방법
URL의 스킴, 호스트 및 IP 주소를 검증하는 화이트리스트 기반 필터링을 적용하고 내부 네트워크 접근을 차단하십시오.
🔧 검증 코드
명령어 실행 시 내부 네트워크(127.0.0.1)의 페이지 제목이나 설명이 응답에 포함되면 취약한 상태입니다.
curl -s -X POST http://<target_ip>/v1/misc/scrape -d 'url=http://127.0.0.1' | grep -E 'title|description'