🇰🇷 한글 설명
FileGator의 '/chmoditems' API 엔드포인트가 임의의 Unix 권한 값을 검증 없이 받아들여 PHP의 'chmod()' 함수로 전달하는 취약점입니다. 'chmod' 권한을 가진 인증된 사용자가 octdec() 변환 과정을 악용하여 시스템의 root 권한으로 권한을 상승시킬 수 있습니다.
💡 쉬운 설명
파일의 권한을 변경하는 기능을 악용하여, 일반 사용자가 컴퓨터의 모든 것을 제어할 수 있는 관리자(root) 권한을 탈취할 수 있는 보안 결함입니다. 공격자는 권한 설정 값에 특수 값을 넣어 시스템의 보안 통제를 무력화할 수 있습니다.
🇺🇸 원문 (English)
FileGator accepts arbitrary Unix permission values via the '/chmoditems' API endpoint and passes the value directly to PHP's native 'chmod()' function through 'octdec()' conversion, with no validation. This allows an authenticated user with 'chmod' permission to upgrade their privileges to root.
📍 영향받는 시스템
FileGator (chmod 권한을 가진 인증된 사용자 환경)
⚔️ 공격 벡터
인증된 사용자가 '/chmoditems' API를 통해 검증되지 않은 Unix 권한 값을 전송하여 권한 상승 유도
🛡️ 대응 방법
API 엔드포인트에서 입력되는 권한 값에 대한 엄격한 유효성 검사를 구현하고, 허용된 권한 범위 외의 값은 차단해야 합니다.
🔧 검증 코드
API 요청 시 입력값에 대한 검증 로직이 작동하는지, 혹은 비정상적인 권한 값이 적용되는지 응답 코드를 통해 확인합니다.
curl -s -X POST http://<target>/api/chmoditems -d 'permissions=777' | grep -E 'error|success'