🇰🇷 한글 설명
Winter CMS 1.2.12 이하 버전에서 인증된 백엔드 사용자가 LESS 소스에 @import 지시문을 주입하여 임의의 파일을 읽을 수 있는 취약점이 발견되었습니다. LESS 파서가 안전한 임포트 리졸버 없이 인스턴스화되어 공격자가 입력한 경로를 그대로 허용하기 때문에 발생하며, 이를 통해 .env 파일과 같은 민감한 정보가 유출될 수 있습니다.
💡 쉬운 설명
관리자 권한을 가진 사용자가 시스템의 설정 화면을 통해 서버에 저장된 중요한 비밀번호나 설정 파일을 몰래 훔쳐볼 수 있는 문제입니다. 디자인 설정을 변경하는 과정에서 악의적인 경로를 입력하여 시스템 내부 파일에 접근하는 방식입니다.
🇺🇸 원문 (English)
Winter CMS is a content management system built on the Laravel PHP framework. In versions up to and including 1.2.12, authenticated backend users can disclose arbitrary files readable by the PHP process by injecting @import (inline) directives into LESS source that the backend compiles, because the LESS parser was instantiated without a safe import resolver and fell back to the raw attacker-supplied path when no allowed root matched. The flaw is reachable through four entry points that share the same root cause: the Brand Settings custom_css field, the Editor Settings html_custom_styles field, the Mail Brand Settings colour-picker fields whose values are concatenated into LESS source without escaping, and theme .less, .sass, and .scss assets compiled when served. Both absolute paths and .. traversal outside the asset's own tree were accepted, so an attacker could read any file the web process can access, most significantly the application .env file and the APP_KEY and database credentials it contains. Exploitation requires a backend account holding one of the associated permissions, which are assigned by default to the built-in Developer role. This issue is fixed in version 1.2.13.
📍 영향받는 시스템
Winter CMS 1.2.12 및 그 이하 모든 버전
⚔️ 공격 벡터
인증된 백엔드 사용자가 브랜드 설정, 에디터 설정, 메일 설정 또는 테마 자산 필드에 @import 지시문을 주입하여 파일 경로를 탈취함
🛡️ 대응 방법
Winter CMS를 최신 보안 패치가 적용된 버전인 1.2.13 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 1.2.13 미만(예: 1.2.12)이라면 해당 취약점에 노출된 상태입니다.
composer show wintercms/cms | grep 'versions'