🇰🇷 한글 설명
SFTPGo의 EventManager 기능은 특정 이벤트 발생 시 스크립트나 애플리케이션을 실행할 수 있습니다. 관리자가 WebAdmin UI를 통해 시스템 명령어를 실행할 수 있어 OS 권한을 획득할 수 있는 위험이 존재합니다. 이를 방지하기 위해 2.6.3 버전부터는 시스템 명령어 실행이 기본적으로 비활성화되며 허용 목록(allow list)을 설정해야 합니다.
💡 쉬운 설명
SFTPGo 관리자 화면에서 시스템 명령어를 실행할 수 있어, 관리자가 의도치 않게 서버 전체를 제어할 위험이 있었습니다. 이제는 보안을 위해 미리 허가된 명령어만 실행할 수 있도록 설정 방식이 변경되었습니다.
🇺🇸 원문 (English)
SFTPGo is a full-featured and highly configurable SFTP, HTTP/S, FTP/S and WebDAV server - S3, Google Cloud Storage, Azure Blob. One powerful feature of SFTPGo is the ability to have the EventManager execute scripts or run applications in response to certain events. This feature is very common in all software similar to SFTPGo and is generally unrestricted. However, any SFTPGo administrator with permission to run a script has access to the underlying OS/container with the same permissions as the user running SFTPGo. This is unexpected for some SFTPGo administrators who think that there is a clear distinction between accessing the system shell and accessing the SFTPGo WebAdmin UI. To avoid this confusion, running system commands is disabled by default in 2.6.3, and an allow list has been added so that system administrators configuring SFTPGo must explicitly define which commands are allowed to be configured from the WebAdmin UI.
📍 영향받는 시스템
SFTPGo 2.6.3 미만 버전
⚔️ 공격 벡터
WebAdmin UI 권한을 가진 관리자가 EventManager를 통해 임의의 시스템 명령어를 실행
🛡️ 대응 방법
SFTPGo를 2.6.3 이상 버전으로 업데이트하고, 실행 가능한 명령어 허용 목록(allow list)을 명시적으로 설정
🔧 검증 코드
출력된 버전 정보가 2.6.3 미만인지 확인하여 취약 여부를 판단합니다.
curl -s http://<SFTPGo_IP>:<Port>/version | grep -E 'version'