🇰🇷 한글 설명
FreePBX의 Dashboard 모듈 내 getcontent AJAX 핸들러에서 경로 검증 미흡으로 인해 발생하는 취약점입니다. 공격자가 $_REQUEST['rawname'] 파라미터에 경로 탐색(Path Traversal) 시퀀스를 삽입하여 시스템 내 임의의 .class.php 파일을 포함(include)시키고 코드를 실행할 수 있습니다.
💡 쉬운 설명
FreePBX 프로그램의 특정 기능이 사용자가 입력한 파일 경로를 제대로 검사하지 않아 발생합니다. 해커가 특수하게 조작된 경로를 입력하면 서버에 저장된 악성 파일을 강제로 실행할 수 있습니다.
🇺🇸 원문 (English)
FreePBX is an open source IP PBX. Prior to 16.0.22 and 17.0.5, the Dashboard module's getcontent AJAX handler includes PHP files based on user-supplied input without path sanitization. The $_REQUEST['rawname'] parameter is concatenated into an include() call with a .class.php suffix, allowing path traversal via ../ sequences to include arbitrary .class.php files from the filesystem. The included file's PHP code executes before the subsequent class instantiation error occurs. This vulnerability is fixed in 16.0.22 and 17.0.5.
📍 영향받는 시스템
FreePBX 16.0.22 미만 및 17.0.5 미만 버전
⚔️ 공격 벡터
AJAX 요청의 rawname 파라미터에 ../와 같은 경로 탐색 문자를 삽입하여 임의 파일 실행
🛡️ 대응 방법
FreePBX를 최신 버전인 16.0.22 또는 17.0.5 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 번호가 출력되면 해당 버전이 설치되어 있는 상태입니다.
rpm -q freepbx | grep -E '16.0\.(0|[1-9]|1[0-9]|2[0-1])|17.0\.[0-4]'