🇰🇷 한글 설명
Concrete CMS 9.5.3 미만 버전의 Document Library 블록에서 파일 세트 식별자(fsID[])를 정수형으로 검증하지 않아 발생하는 취약점입니다. 인증된 사용자가 블록 설정에 SQL 구문을 삽입하여 저장할 수 있으며, 해당 페이지가 렌더링될 때마다 저장된 SQL 문이 실행되는 저장형 시간 기반 Blind SQL 인젝션 공격이 가능합니다.
💡 쉬운 설명
권한이 있는 사용자가 문서 라이브러리 설정에 악성 코드를 숨겨둘 수 있는 보안 약점입니다. 이 코드가 저장되면 웹사이트 방문자가 해당 페이지를 볼 때마다 데이터베이스가 공격자의 명령에 따라 동작하게 됩니다.
🇺🇸 원문 (English)
In Concrete CMS before 9.5.3, the Document Library block stored the file-set identifiers submitted through fsID[] without validating them as integers, and when the block was configured with setMode set to any it concatenated each stored identifier directly into the file-set filter query instead of casting it or binding it as a parameter. An authenticated user permitted to add or edit a Document Library block could therefore persist SQL syntax in the block configuration (btDocumentLibrary.setIds), and that stored expression was executed every time the published page containing the block was rendered, producing stored, time-based blind SQL injection. The Concrete CMS security team gave this vulnerability a CVSS v4.0 score of 8.5 with vector CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N. Thanks Habib Allah for reporting.
📍 영향받는 시스템
Concrete CMS 9.5.3 미만 버전
⚔️ 공격 벡터
인증된 사용자가 Document Library 블록의 fsID[] 파라미터에 SQL 구문을 삽입하여 저장하는 방식
🛡️ 대응 방법
Concrete CMS를 최신 버전(9.5.3 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 9.5.3 미만인 경우 해당 취약점에 노출된 상태입니다.
composer show concrete/concrete5 | grep 'versions'