🇰🇷 한글 설명
Astro 웹 프레임워크 9.5.4 미만 버전에서 SSRF 취약점이 발견되었습니다. 공격자가 Host 헤더를 조작하여 서버가 내부 네트워크나 클라우드 메타데이터 IP에 요청을 보내도록 유도할 수 있습니다. 이를 통해 내부 서비스와 상호작용하거나 민감한 정보를 탈취할 수 있습니다.
💡 쉬운 설명
웹사이트가 오류 페이지를 보여줄 때, 공격자가 보낸 가짜 주소로 서버가 직접 접속하게 만드는 공격입니다. 이를 통해 서버 내부의 비밀 정보나 다른 컴퓨터에 저장된 데이터를 몰래 훔쳐볼 수 있습니다.
🇺🇸 원문 (English)
Astro is a web framework. Prior to version 9.5.4, Server-Side Rendered pages that return an error with a prerendered custom error page (eg. `404.astro` or `500.astro`) are vulnerable to SSRF. If the `Host:` header is changed to an attacker's server, it will be fetched on `/500.html` and they can redirect this to any internal URL to read the response body through the first request. An attacker who can access the application without `Host:` header validation (eg. through finding the origin IP behind a proxy, or just by default) can fetch their own server to redirect to any internal IP. With this they can fetch cloud metadata IPs and interact with services in the internal network or localhost. For this to be vulnerable, a common feature needs to be used, with direct access to the server (no proxies). Version 9.5.4 fixes the issue.
📍 영향받는 시스템
Astro web framework versions prior to 9.5.4
⚔️ 공격 벡터
Host 헤더를 공격자의 서버로 조작하여 서버가 내부 URL로 리다이렉트하도록 유도
🛡️ 대응 방법
Astro 프레임워크를 9.5.4 버전 이상으로 업데이트
🔧 검증 코드
출력된 버전 번호가 9.5.4보다 낮으면 취약한 상태입니다.
npm list astro | grep -E 'astro@([0-9]+\.[0-9]+\.[0-9]+)'