🇰🇷 한글 설명
오픈 소스 CMS인 Contao의 Feed Reader 프론트엔드 모듈에서 URL 스킴 및 내부 주소 검증이 누락된 SSRF 취약점이 발견되었습니다. 모듈 편집 권한을 가진 백엔드 사용자가 악의적인 RSS 피드 URL을 설정하여 서버가 내부 네트워크 서비스, 루프백 주소 또는 클라우드 메타데이터 엔드포인트에 요청을 보내도록 유도할 수 있습니다.
💡 쉬운 설명
관리자 권한을 가진 사용자가 가짜 주소를 입력하여 웹사이트 서버가 내부의 중요한 정보나 다른 컴퓨터에 몰래 접속하게 만드는 보안 약점입니다. 이를 통해 서버 내부의 민감한 데이터가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
Contao is an Open Source CMS. From 5.3.35 through 5.3.47 and from 5.7.0-RC1 through 5.7.8, the Feed Reader front-end module passes configured RSS feed URLs from FeedReaderController::getResponse() to feedIo->read() without scheme or private-address validation, allowing a backend user with module-edit permissions to make the server request internal network services, loopback addresses, or cloud metadata endpoints. In core-bundle/src/Controller/FrontendModule/FeedReaderController.php, the getResponse() function iterates over the configured feed URLs and passes each one directly to the HTTP client (via $this->feedIo->read($url, new Feed())) with no validation, while the DCA field definition for rss_feed in tl_module.php carries no URL scheme or host validation and the HTTP client is wired as @psr18.http_client (Symfony HttpClient) with no SSRF protection configured, since NoPrivateNetworkHttpClient is not used. This issue is fixed in versions 5.3.48.
📍 영향받는 시스템
Contao 5.3.35 ~ 5.3.47 및 5.7.0-RC1 ~ 5.7.8
⚔️ 공격 벡터
모듈 편집 권한을 가진 사용자가 검증되지 않은 내부 네트워크 주소를 RSS 피드 URL로 설정하여 서버 측 요청 위조(SSRF) 수행
🛡️ 대응 방법
Contao를 5.3.48 버전 이상으로 업데이트하여 URL 검증 로직이 적용된 패치를 적용하십시오.
🔧 검증 코드
출력된 버전이 취약한 범위(5.3.35-5.3.47 또는 5.7.0-RC1-5.7.8)에 포함되는지 확인하십시오.
composer show contao/core | grep 'versions'