🇰🇷 한글 설명
CakePHP의 View::_getElementFileName() 함수에서 경로 검증 미흡으로 인해 발생하는 취약점입니다. 공격자가 조작된 사용자 데이터를 사용하여 서버 내의 다른 PHP 파일을 포함(Include)시킬 수 있습니다.
💡 쉬운 설명
웹사이트의 특정 부품을 불러올 때, 원래 허용된 폴더가 아닌 엉뚱한 곳에 있는 파일을 불러오게 만드는 보안 구멍입니다. 이를 통해 해커가 서버에 저장된 중요한 파일을 몰래 읽거나 실행할 수 있습니다.
🇺🇸 원문 (English)
CakePHP is a rapid development framework for PHP. In versions 4.5.11 and earlier, 4.6.0 through 4.6.3, 5.0.0 through 5.1.6, 5.2.0 through 5.2.12, and 5.3.0 through 5.3.5, View::_getElementFileName() does not check that the resolved element path is within the application/plugin view template paths. When element names are created with specifically crafted user-supplied data this weakness can be leveraged to include other PHP files on the server. Patched releases are available in 5.3.6, 5.2.13, 5.1.7, 4.6.4, and 4.5.11.
📍 영향받는 시스템
CakePHP 4.5.11 이하, 4.6.0-4.6.3, 5.0.0-5.1.6, 5.2.0-5.2.12, 5.3.0-5.3.5
⚔️ 공격 벡터
사용자 입력값이 포함된 조작된 엘리먼트 이름을 통해 경로 탐색(Path Traversal) 공격 수행
🛡️ 대응 방법
CakePHP를 패치된 버전(5.3.6, 5.2.13, 5.1.7, 4.6.4, 4.5.11 이상)으로 업데이트
🔧 검증 코드
출력된 버전이 취약한 버전 범위에 포함되는지 확인합니다.
composer show cakephp/cakephp | grep 'versions'
💻 영향받는 소프트웨어
IBM WebSphere Application Server