🇰🇷 한글 설명
elFinder 2.1.70 미만 버전에서 netmount 명령어가 CSRF 보호 목록에서 누락되어 발생하는 취약점입니다. 공격자는 CSRF 공격을 통해 피해자의 세션에 임의의 FTP 네트워크 마운트를 설정하고, 서버가 공격자의 FTP 서버로 접속하여 자격 증명을 전송하도록 유도할 수 있습니다.
💡 쉬운 설명
웹 파일 관리 도구인 elFinder에서 보안 검증이 누락된 부분을 이용한 공격입니다. 해커가 만든 가짜 링크를 클릭하면 사용자의 서버가 해커의 서버로 접속을 시도하며 중요한 정보를 넘겨줄 수 있습니다.
🇺🇸 원문 (English)
elFinder is an open-source file manager for web, written in JavaScript using jQuery UI. Prior to 2.1.70, the netmount command is omitted from elFinderConnector::$csrfProtectedCmds in php/elFinderConnector.class.php, so validateCsrfToken() is not called for this state-changing operation. In the shipped php/connector.minimal.php-dist configuration, FTP network mounts are enabled by default, and attacker-controlled protocol, host, path, port, user, pass, alias, and options arguments flow through elFinder::netmount() in php/elFinder.class.php to php/elFinderVolumeFTP.class.php. A cross-site request can therefore persist an attacker-chosen FTP mount in the victim's session, cause the PHP server to connect to an attacker-chosen FTP host and port, and send supplied credentials without an X-elFinder-CSRF token. This issue is fixed in version 2.1.70.
📍 영향받는 시스템
elFinder versions prior to 2.1.70
⚔️ 공격 벡터
Cross-Site Request Forgery (CSRF)를 통한 임의의 FTP 네트워크 마운트 설정
🛡️ 대응 방법
elFinder를 2.1.70 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
명령어 결과가 bool(false)로 나오면 취약한 상태이며, bool(true)이면 패치된 상태입니다.
php -r 'include "php/elFinderConnector.class.php"; var_dump(in_array("netmount", elFinderConnector::\$csrfProtectedCmds));'