🇰🇷 한글 설명
PHP Project Management 0.8.10 이전 버전의 여러 모듈에서 디렉토리 트래버설 취약점이 존재합니다. 원격 공격자가 다양한 PHP 파일의 매개변수에 '..'를 삽입하여 임의의 로컬 파일을 포함하고 실행할 수 있습니다.
💡 쉬운 설명
사용자 입력이 제대로 검증되지 않아 공격자가 프로그램의 의도된 디렉토리 범위를 벗어나 서버의 다른 파일에 접근할 수 있습니다. 파일 경로에서 '뒤로 가기'를 반복하여 민감한 파일들을 읽거나 실행할 수 있다는 의미입니다.
🇺🇸 원문 (English)
Multiple directory traversal vulnerabilities in PHP Project Management 0.8.10 and earlier allow remote attackers to include and execute arbitrary local files via a .. (dot dot) in (1) the def_lang parameter to modules/files/list.php; the m_path parameter to (2) modules/projects/summary.inc.php or (3) modules/tasks/summary.inc.php; (4) the module parameter to modules/projects/list.php; or the module parameter to index.php in the (5) certinfo, (6) emails, (7) events, (8) fax, (9) files, (10) groupadm, (11) history, (12) info, (13) log, (14) mail, (15) messages, (16) organizations, (17) phones, (18) presence, (19) projects, (20) reports, (21) search, (22) snf, (23) syslog, (24) tasks, or (25) useradm subdirectory of modules/.
📍 영향받는 시스템
PHP Project Management 0.8.10 이전 모든 버전
⚔️ 공격 벡터
def_lang, m_path, module 등의 파라미터에 '..'를 포함시켜 임의의 로컬 파일을 포함/실행
🛡️ 대응 방법
PHP Project Management를 0.8.11 이상으로 업그레이드하거나 입력 검증 및 경로 정규화 로직 추가
🔧 검증 코드
결과가 반환되면 해당 파일의 경로와 버전을 확인하여 0.8.10 이하인지 검증합니다. 결과가 없으면 취약한 버전이 설치되지 않은 상태입니다.
find / -type f -name 'index.php' -path '*php*project*' 2>/dev/null | xargs grep -l 'def_lang\|m_path' 2>/dev/null | head -1