🇰🇷 한글 설명
baserCMS는 웹사이트 개발 프레임워크입니다. 5.0.0 이상 5.3.2 미만 및 5.4.0 이상 5.4.2 미만 버전에서는 HTML 렌더링 이후 전체 페이지에 전역 쇼트코드 확장이 적용되어, 비인증 방문자가 작성한 블로그 댓글에 포함된 쇼트코드가 실행됩니다. 이로 인해 공격자가 지정한 외부 스크립트가 사이트 출처에서 실행되는 저장형 XSS가 발생하며, 댓글을 확인한 관리자의 인증된 브라우저 세션이 탈취될 수 있습니다. 해당 취약점은 5.3.2 및 5.4.2 버전에서 수정되었습니다.
💡 쉬운 설명
누구나 작성할 수 있는 블로그 댓글에 특수한 코드를 넣으면, 그 글을 보는 다른 사람이나 관리자의 브라우저에서 공격자의 악성 스크립트가 실행될 수 있습니다. 관리자가 이 댓글이 달린 글을 열면 관리자 권한이 악용될 위험이 있습니다.
🇺🇸 원문 (English)
baserCMS is a website development framework. In versions 5.0.0 before 5.3.2 and 5.4.0 before 5.4.2, global shortcode expansion runs over the complete rendered page, including HTML-escaped blog comments supplied by unauthenticated visitors. A comment containing the BcBaser.getGoogleMaps shortcode can set apiBaseUrl to an attacker-controlled script URL, which is emitted as a script src and executes JavaScript on the site's origin when another visitor or administrator opens the article displaying that comment. Escaping raw HTML in comments does not prevent this stored cross-site scripting because shortcode processing happens after HTML rendering. Other registered shortcodes also expand in comments; Mail.getForm can embed a working contact form with a valid CSRF token. The flaw can compromise the authenticated browser context of an administrator who views the affected article. This issue has been patched in versions 5.3.2 and 5.4.2.
📍 영향받는 시스템
baserCMS 5.0.0 이상 5.3.2 미만, 5.4.0 이상 5.4.2 미만
⚔️ 공격 벡터
비인증 사용자가 블로그 댓글에 BcBaser.getGoogleMaps 쇼트코드를 삽입해 외부 스크립트를 로드시키고, 관리자가 해당 글을 열 때 실행됨
🛡️ 대응 방법
baserCMS를 5.3.2 또는 5.4.2 이상 버전으로 업데이트
🔧 검증 코드
출력된 버전이 5.3.2 이상이거나 5.4.2 이상이면 패치된 것이며, 5.0.0~5.3.1 또는 5.4.0~5.4.1이면 취약한 버전이므로 즉시 업데이트가 필요합니다.
grep -rE "version|Version" $(find / -path '*baser*' -name 'version*.php' 2>/dev/null | head -1) 2>/dev/null | head -5