🇰🇷 한글 설명
Concrete CMS 9.5.0 이하에서 페이지 타입 작성자 폼 레이아웃 저장 시 경로 이동 시퀀스를 검증하지 않아 인증된 관리자가 임의의 파일을 읽을 수 있습니다. 파일 업로더의 확장자 기반 검증 우회로 PHP 코드가 이미지 파일로 실행되어 인증된 원격 코드 실행이 가능합니다.
💡 쉬운 설명
Concrete CMS에서 관리자가 파일 경로를 조작해 서버의 모든 파일에 접근할 수 있는 결함입니다. 이를 통해 PHP 코드를 실행할 수 있어 시스템을 완전히 장악할 수 있습니다.
🇺🇸 원문 (English)
Concrete CMS 9.5.0 and below fails to sanitize path traversal sequences in the ptComposerFormLayoutSetControlCustomTemplate field when saving page type composer form layouts. An authenticated rogue administrator with composer form editing rights can exploit this to include arbitrary readable files on the server. Combined with the file uploader's extension-only validation (which permits PHP code in files saved with image extensions like .png), this can result in authenticated remote code execution. The Concrete CMS security team gave this vulnerability a CVSS v.4.0 score of 9.4 with vector CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H Thanks Yonatan Drori (Tenzai) for reporting.
📍 영향받는 시스템
Concrete CMS 9.5.0 이하 버전
⚔️ 공격 벡터
인증된 관리자(composer form editing rights)가 ptComposerFormLayoutSetControlCustomTemplate 필드에 경로 이동 문자열을 입력하고 PHP 코드를 포함한 파일을 이미지 확장자로 업로드
🛡️ 대응 방법
Concrete CMS를 최신 버전(9.5.1 이상)으로 업그레이드 또는 긴급 보안 패치 적용
🔧 검증 코드
출력된 버전이 9.5.0 이하면 취약함. 9.5.1 이상이면 안전함.
find / -name 'concrete' -type d 2>/dev/null | head -1 | xargs -I {} grep -r 'VERSION\|version' {}/config/ 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'