🇰🇷 한글 설명
Grav는 파일 기반 웹 플랫폼입니다. 2.0.0-beta.2 이전 버전에서는 pages.update 권한만 가진 낮은 권한의 사용자(예: Content Editor)가 grav['accounts'] 서비스를 이용해 Twig 샌드박스 제한을 우회할 수 있습니다. 공격자는 관리자 사용자 객체를 프로그래밍 방식으로 불러와 Bcrypt 비밀번호 해시와 보안 salt 등 민감한 정보를 추출할 수 있습니다. 이 취약점은 2.0.0-beta.2에서 수정되었습니다.
💡 쉬운 설명
권한이 제한된 일반 편집자 계정으로도 관리자 계정 정보를 몰래 읽어올 수 있는 결함입니다. 이를 통해 관리자 비밀번호 해시가 유출될 수 있습니다.
🇺🇸 원문 (English)
Grav is a file-based Web platform. Prior to 2.0.0-beta.2, a low-privileged user (EX: Content Editor with only pages.update permissions) can bypass the existing Twig sandbox restrictions by utilizing the grav['accounts'] service. Attacker can programmatically load administrative user objects and extract sensitive data, including Bcrypt password hashes and the security salt. This vulnerability is fixed in 2.0.0-beta.2.
📍 영향받는 시스템
Grav CMS 2.0.0-beta.2 미만 버전
⚔️ 공격 벡터
pages.update 권한을 가진 인증된 사용자가 Twig 템플릿에서 grav['accounts'] 서비스를 호출해 관리자 계정의 Bcrypt 해시와 salt를 추출
🛡️ 대응 방법
Grav를 2.0.0-beta.2 이상으로 업그레이드하고, 관리자 비밀번호 및 보안 salt를 변경
🔧 검증 코드
출력된 Grav 버전이 2.0.0-beta.2 미만이면 취약한 것이며, 이상이면 패치가 적용된 것입니다 (경로는 환경에 맞게 수정 필요).
grep -rE "version\s*[:=]" /var/www/html/system/defines.php /var/www/html/index.php 2>/dev/null | head -n 5