🇰🇷 한글 설명
Concrete CMS 9.0.0부터 9.5.3 버전에서 페이지 별칭(customAliasName) 입력값에 대한 검증 미흡으로 인해 저장형 XSS 취약점이 발생합니다. 권한이 있는 편집자가 악성 스크립트가 포함된 별칭을 저장하면, 관리자가 사이트맵 패널을 열 때 스크립트가 실행되어 관리자 권한을 탈취할 수 있습니다.
💡 쉬운 설명
편집자가 페이지 이름에 몰래 악성 코드를 심어둘 수 있는 취약점입니다. 관리자가 해당 페이지 목록을 확인하는 순간 악성 코드가 실행되어 관리자의 권한을 통째로 뺏길 수 있습니다.
🇺🇸 원문 (English)
Concrete CMS 9.0.0 through 9.5.3 is vulnerable to stored XSS via the custom page alias name (customAliasName) because the Edit Alias dialog applied only trim() to the submitted value and performed no input neutralization. An authenticated user holding canWrite (editor) permission on a page could store a malicious alias name that was later rendered unescaped in the administrative Sitemap panel, where it executed automatically in any administrator or editor session that opened the panel, allowing an editor to escalate to administrator through the victim's active session. The Concrete CMS security team gave this vulnerability a CVSS v4.0 score of 7.3 with vector CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:P/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N. Thanks Nguyen Manh Thuan for reporting.
📍 영향받는 시스템
Concrete CMS 9.0.0 ~ 9.5.3
⚔️ 공격 벡터
인증된 편집자가 악성 스크립트가 포함된 페이지 별칭을 저장한 후, 관리자가 사이트맵 패널을 열도록 유도하여 공격
🛡️ 대응 방법
Concrete CMS를 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 9.0.0에서 9.5.3 사이인지 확인하여 취약 여부를 판단합니다.
composer show concrete/concrete5 | grep 'versions'