🇰🇷 한글 설명
ApiAdmin 5.0 및 이전 버전에서 디렉토리 트래버스 취약점이 발견되었습니다. 관리자 권한을 가진 사용자가 파일 확장자 검증 없이 .php 파일을 업로드할 수 있으며, 업로드된 파일이 웹 접근이 가능한 경로에 저장되어 원격 코드 실행(RCE)이 가능합니다.
💡 쉬운 설명
관리자 계정을 탈취한 공격자가 서버에 악성 프로그램을 직접 심을 수 있는 보안 구멍이 있습니다. 파일의 종류를 확인하지 않고 그대로 저장하기 때문에 서버를 완전히 장악당할 위험이 있습니다.
🇺🇸 원문 (English)
ApiAdmin v5.0 and before is vulnerable to Directory Traversal. The admin file-upload endpoint POST /admin/Index/upload in ApiAdmin takes the uploaded file's extension verbatim there is no whitelist, blacklist or content check and move_uploaded_file() drops the file into the web-accessible directory public/upload/Ymd/. Any logged-in admin user can upload a .php file and reach it directly over HTTP, achieving remote code execution on the server.
📍 영향받는 시스템
ApiAdmin v5.0 및 그 이전 모든 버전
⚔️ 공격 벡터
로그인된 관리자 계정을 이용해 검증되지 않은 .php 파일을 /admin/Index/upload 엔드포인트로 업로드
🛡️ 대응 방법
ApiAdmin을 최신 보안 패치가 적용된 버전으로 업데이트하거나, 파일 업로드 시 확장자 화이트리스트 검증 로직을 추가해야 합니다.
🔧 검증 코드
해당 엔드포인트가 정상적으로 응답하는지 확인하여 관리자 기능의 활성화 여부를 점검합니다.
curl -s -I http://<target_ip>/admin/Index/upload | grep -i 'HTTP/1.1 200 OK'