🇰🇷 한글 설명
서버 관리 패널인 froxlor 2.3.10 및 이전 버전에서 URL 검증 로직의 미비로 인해 발생하는 취약점입니다. 인증된 저권한 사용자가 URL의 userinfo 부분에 CR/LF 문자를 삽입하여 웹 서버 설정 파일에 임의의 설정을 주입할 수 있습니다. 이로 인해 공격자는 서버 전체의 설정을 조작하거나 로컬 파일을 읽는 등 심각한 권한 상승을 수행할 수 있습니다.
💡 쉬운 설명
서버 관리 프로그램의 URL 검사 기능이 완벽하지 않아, 특수 문자가 포함된 주소를 입력하면 서버 설정 파일이 망가질 수 있습니다. 공격자는 이를 이용해 서버의 보안 설정을 마음대로 바꾸거나 중요한 파일을 훔쳐볼 수 있습니다.
🇺🇸 원문 (English)
froxlor is a server administration panel. In versions 2.3.10 and earlier, Validate::validateUrl rejects carriage return and line feed characters only in the path, query and fragment components returned by parse_url, and never inspects the userinfo (user:pass@) components. This is an incomplete fix for GHSA-c3p2. An authenticated low-privilege customer with subdomain-create rights (no admin or change_serversettings privilege required) can supply a subdomain redirect URL that carries a CR/LF payload in the userinfo portion (e.g. http://user%0areturn 200 "pwned";%
[email protected]/). The value passes validation, survives IDNA encoding, and is written verbatim into the generated nginx or Apache vhost configuration, allowing the attacker to break out of the emitted directive and inject arbitrary web-server configuration lines. froxlor regenerates and reloads the web-server configuration as root, so the injected directives take effect server-wide and can hijack responses or read local files. The issue is fixed in version 2.3.12.
📍 영향받는 시스템
froxlor 2.3.10 및 그 이전 버전
⚔️ 공격 벡터
서브도메인 생성 권한을 가진 사용자가 URL의 userinfo 영역에 CR/LF 페이로드를 삽입하여 웹 서버 설정 파일에 명령을 주입
🛡️ 대응 방법
froxlor를 버전 2.3.12 이상으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 2.3.12 미만이면 해당 취약점에 노출된 상태입니다.
php -r 'include("froxlor/version.php"); echo version_constant();' 2>/dev/null || echo 'Check manual installation directory'