🇰🇷 한글 설명
Puzzle Apps CMS 2.2.1의 원격 파일 포함(RFI) 취약점으로, MODULEDIR, COREROOT, THISDIR 등 13개의 매개변수를 통해 임의의 원격 PHP 파일을 로드하고 실행할 수 있습니다. 공격자는 특정 파일들(my.module.php, xml.module.php, config.loader.php 등)에 조작된 URL을 전달하여 서버에서 악의적인 PHP 코드를 실행할 수 있습니다.
💡 쉬운 설명
웹사이트의 파일을 불러오는 기능이 공격자의 입력을 검증하지 않아, 인터넷의 어느 곳에서든 악성 파일을 불러와 실행할 수 있는 결함입니다. 공격자는 이를 이용해 서버를 완전히 제어할 수 있습니다.
🇺🇸 원문 (English)
Multiple PHP remote file inclusion vulnerabilities in Puzzle Apps CMS 2.2.1 allow remote attackers to execute arbitrary PHP code via a URL in the MODULEDIR parameter to (1) core/modules/my/my.module.php or (2) core/modules/xml/xml.module.php; the COREROOT parameter to (3) config.loader.php, (4) platform.loader.php, (5) core.loader.php, (6) person.loader.php, or (7) module.loader.php in core/ or (8) install/steps/step_3.php; or the THISDIR parameter to (9) people.lib.php, (10) general.lib.php, (11) content.lib.php, or (12) templates.lib.php in core/modules/admin/libs/ or (13) core/modules/webstat/MEC/index.php.
📍 영향받는 시스템
Puzzle Apps CMS 2.2.1 이하
⚔️ 공격 벡터
GET/POST 요청의 MODULEDIR, COREROOT, THISDIR 매개변수에 원격 PHP 파일 URL을 주입하여 RFI 공격 실행
🛡️ 대응 방법
Puzzle Apps CMS를 최신 버전으로 즉시 업그레이드하고, 입력 검증 및 파일 경로 제한을 적용
🔧 검증 코드
파일이 발견되면 해당 CMS가 설치되어 있으며, 버전 확인 후 2.2.1 이하인 경우 취약점에 노출됨
find / -path '*core/modules/my/my.module.php' -o -path '*core/modules/xml/xml.module.php' 2>/dev/null | head -1