🇰🇷 한글 설명
Winter CMS 1.2.12 이하 버전의 백엔드 Filter 위젯에서 SQL 인젝션 취약점이 발견되었습니다. numberrange 스코프 타입이 conditions 키와 함께 설정된 경우, 필터 값이 파라미터 바인딩 없이 삽입되어 인증된 사용자가 임의의 SQL을 실행하고 데이터베이스 내용을 읽을 수 있습니다.
💡 쉬운 설명
관리자 권한을 가진 사용자가 특수하게 조작된 값을 입력하여 데이터베이스의 정보를 몰래 빼낼 수 있는 보안 약점입니다. 다만, 기본 설정이 아닌 특정 플러그인을 추가로 설치했을 때만 발생합니다.
🇺🇸 원문 (English)
Winter CMS is a content management system built on the Laravel PHP framework. In versions up to and including 1.2.12, the backend Filter widget is vulnerable to SQL injection through the numberrange scope type when that scope is configured with a conditions key, allowing an authenticated backend user to inject arbitrary SQL. The scope's filter values are interpolated into the conditions statement without parameter binding, so a user with access to a list view whose filter uses this scope and configuration can supply crafted input through the filter's AJAX handler and read arbitrary database contents. No built-in Winter CMS backend views use this scope type and configuration combination, so exploitation requires a third-party plugin to have registered a numberrange filter scope with a conditions key, and a vanilla installation without such plugins is not affected. This issue is fixed in version 1.2.13.
📍 영향받는 시스템
Winter CMS 1.2.12 및 그 이하 모든 버전
⚔️ 공격 벡터
인증된 백엔드 사용자가 AJAX 핸들러를 통해 조작된 필터 값을 전달하여 SQL 인젝션 수행
🛡️ 대응 방법
Winter CMS를 최신 버전인 1.2.13 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 1.2.13 미만인지 확인하여 취약 여부를 판단합니다.
composer show wintercms/winter-cms | grep 'versions'