🇰🇷 한글 설명
Craft CMS의 /actions/app/resource-js 엔드포인트에서 SSRF 및 임의 자바스크립트 주입 취약점이 발견되었습니다. 공격자는 Host 또는 X-Forwarded-Host 헤더를 조작하여 내부 URL 검증을 우회하고, 공격자가 제어하는 서버로부터 악성 페이로드를 가져와 클라이언트에 실행시킬 수 있습니다. 이 문제는 assetManager.cacheSourcePaths가 false로 설정된 경우 발생합니다.
💡 쉬운 설명
웹사이트의 설정 오류를 이용해 해커가 가짜 주소를 서버에 전달함으로써, 서버가 해커의 악성 코드를 마치 정상적인 파일인 것처럼 가져와 사용자에게 전달하게 만드는 공격입니다. 이를 통해 사용자의 브라우저에서 해커가 원하는 자바스크립트가 실행될 수 있습니다.
🇺🇸 원문 (English)
Craft CMS is a content management system (CMS). Versions 4.0.0-RC1 and above, prior to 4.18.0 and 5.0.0-RC1, and above, prior to 5.10.0, are vulnerable to Server-Side Request Forgery (SSRF) and Arbitrary JavaScript Injection through the /actions/app/resource-js endpoint. By exploiting the default permissive trustedHosts configuration, an attacker can poison the Host or X-Forwarded-Host header to manipulate the application’s $baseUrl. This bypasses the endpoint’s internal URL validation, forcing the backend Guzzle client to fetch a malicious payload from an attacker-controlled server and reflect it to the client with a Content-Type: application/javascript header. The vulnerability manifests when assetManager.cacheSourcePaths is set to false. This issue has been fixed in versions 4.18.0 and 5.10.0.
📍 영향받는 시스템
Craft CMS 4.0.0-RC1 ~ 4.17.x 및 5.0.0-RC1 ~ 5.9.x (assetManager.cacheSourcePaths가 false인 경우)
⚔️ 공격 벡터
Host 또는 X-Forwarded-Host 헤더를 조작하여 $baseUrl을 변조한 후 /actions/app/resource-js 엔드포인트 호출
🛡️ 대응 방법
Craft CMS를 버전 4.18.0 또는 5.10.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 4.18.0 미만 또는 5.10.0 미만인지 확인하십시오.
composer show craft/cms | grep 'versions'
💻 영향받는 소프트웨어
IBM WebSphere Application Server