🇰🇷 한글 설명
RunCMS 1.6.1 이전 버전의 여러 관리 페이지에서 인증된 관리자가 header, footer, disclaimer, intro 등의 파라미터를 통해 PHP 코드를 직접 주입할 수 있는 취약점입니다. 주입된 코드는 modules 디렉토리의 cache 파일들에 저장되어 실행됩니다.
💡 쉬운 설명
RunCMS 관리자 설정 페이지에서 악의적인 PHP 코드를 숨겨서 보낼 수 있는 보안 결함이 있습니다. 이 코드가 저장되면 웹사이트에 접근하는 모든 방문자들이 해당 악성 코드를 실행하게 됩니다.
🇺🇸 원문 (English)
Multiple direct static code injection vulnerabilities in RunCMS before 1.6.1 allow remote authenticated administrators to inject arbitrary PHP code via the (1) header and (2) footer parameters to modules/system/admin.php in a meta-generator action, (3) the disclaimer parameter to modules/system/admin.php in a disclaimer action, (4) the disclaimer parameter to modules/mydownloads/admin/index.php in a mydownloadsConfigAdmin action, (5) the disclaimer parameter to modules/newbb_plus/admin/forum_config.php, (6) the disclaimer parameter to modules/mylinks/admin/index.php in a myLinksConfigAdmin action, or (7) the intro parameter to modules/sections/admin/index.php in a secconfig action, which inject PHP sequences into (a) sections/cache/intro.php, (b) mylinks/cache/disclaimer.php, (c) mydownloads/cache/disclaimer.php, (d) newbb_plus/cache/disclaimer.php, (e) system/cache/disclaimer.php, (f) system/cache/footer.php, (g) system/cache/header.php, or (h) system/cache/maintenance.php in modules/.
📍 영향받는 시스템
RunCMS 1.6.1 이전 모든 버전 (system, mydownloads, mylinks, newbb_plus, sections 모듈)
⚔️ 공격 벡터
인증된 관리자가 modules/system/admin.php, modules/mydownloads/admin/index.php 등의 설정 페이지에서 header, footer, disclaimer 파라미터에 PHP 코드를 주입
🛡️ 대응 방법
RunCMS를 1.6.1 이상으로 즉시 업그레이드하고, 영향받는 cache 파일들(intro.php, disclaimer.php, footer.php, header.php, maintenance.php)을 검토하여 악성 코드 제거
🔧 검증 코드
cache 파일들에 의심스러운 PHP 코드가 있는지 확인하고, 있으면 해당 파일의 내용을 검사하여 악성 코드 여부 판단
find /path/to/runcms/modules -name 'intro.php' -o -name 'disclaimer.php' -o -name 'footer.php' | xargs grep -l '<?php' 2>/dev/null