🇰🇷 한글 설명
Craft 플랫폼의 특정 버전에서 saveAsset GraphQL mutation이 URL 호스트네임과 IP를 검증하지만, Guzzle 라이브러리가 HTTP 리다이렉트를 기본적으로 허용하여 SSRF 보호를 우회할 수 있습니다. 공격자는 리다이렉트를 통해 클라우드 메타데이터 엔드포인트나 내부 IP 주소에 접근할 수 있습니다.
💡 쉬운 설명
웹사이트가 외부 이미지를 가져올 때 보안 검사를 하지만, 공격자가 중간에 경로를 살짝 바꾸는 '리다이렉트'를 이용해 내부 비밀 정보가 있는 곳으로 접속하게 만들 수 있는 문제입니다. 이를 통해 회사의 내부 네트워크 정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
Craft is a platform for creating digital experiences. In Craft versions 4.0.0-RC1 through 4.16.17 and 5.0.0-RC1 through 5.8.21, the saveAsset GraphQL mutation validates the initial URL hostname and resolved IP against a blocklist, but Guzzle follows HTTP redirects by default. An attacker can bypass all SSRF protections by hosting a redirect that points to cloud metadata endpoints or any internal IP addresses. This issue is patched in versions 4.16.18 and 5.8.22.
📍 영향받는 시스템
Craft 4.0.0-RC1 ~ 4.16.17 및 5.0.0-RC1 ~ 5.8.21
⚔️ 공격 벡터
공격자가 제어하는 서버로 리다이렉트를 유도하여 내부 IP 또는 클라우드 메타데이터 서비스에 접근하는 SSRF 공격
🛡️ 대응 방법
Craft 버전을 4.16.18 또는 5.8.22 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 4.16.18 미만 또는 5.8.22 미만인 경우 취약한 상태입니다.
composer show craft/craft | grep 'versions'