🇰🇷 한글 설명
Vvveb CMS 1.0.0부터 1.0.8.5 버전 사이에서 발생하는 취약점으로, 인증된 에디터 권한 사용자가 조작된 HTML을 통해 테마 디렉토리 외부의 PHP 파일에 접근하거나 파일을 생성할 수 있습니다. 이를 통해 공격자는 웹쉘을 설치하여 서버의 기밀성, 무결성 및 가용성을 침해할 수 있습니다.
💡 쉬운 설명
웹사이트 관리 도구의 허점을 이용해 해커가 서버에 몰래 악성 프로그램을 심을 수 있는 보안 약점입니다. 권한이 있는 사용자가 나쁜 의도를 가질 경우 서버 전체가 해킹당할 위험이 있습니다.
🇺🇸 원문 (English)
Vvveb is a powerful and easy to use CMS with page builder to build websites, blogs or ecommerce stores. From 1.0.0 until 1.0.8.5, saveGlobalElements() in admin/controller/editor/global-trait.php concatenates the attacker-controlled file portion of data-v-save-global to the active theme directory before loadHTMLFile() and file_put_contents() operate on it. An authenticated user with the default Editor role and editor/* permission can submit crafted HTML to module=editor/editor&action=save and traverse to an existing writable PHP file outside the theme directory. If the target is web-accessible, editor-controlled PHP content executes in the web server context; a shipped public/vadmin/index.php entrypoint can be used as an execution trampoline rather than requiring a test-only file. This can permit persistent webshell placement and compromise application confidentiality, integrity, and availability. This issue is fixed in version 1.0.8.5.
📍 영향받는 시스템
Vvveb CMS version 1.0.0 ~ 1.0.8.5
⚔️ 공격 벡터
인증된 에디터 권한을 가진 사용자가 조작된 HTML 데이터를 전송하여 경로 탐색(Path Traversal) 및 임의 파일 쓰기를 수행함
🛡️ 대응 방법
Vvveb CMS를 최신 보안 패치가 적용된 버전인 1.0.8.5 이상으로 업데이트하십시오.
🔧 검증 코드
해당 파일 내 취약한 함수가 존재하고 현재 설치된 CMS 버전이 1.0.8.5 미만이면 취약한 상태입니다.
grep -r "saveGlobalElements" admin/controller/editor/global-trait.php && php -r "echo 'Check version manually';"
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
IBM WebSphere Application Server