🇰🇷 한글 설명
Grav 2.0.15 미만 버전의 Blueprint dynamic-data 검증 과정에서 불완전한 차단 목록(denylist) 사용으로 인해 임의 파일 쓰기 취약점이 존재합니다. 페이지 편집 또는 블루프린트 설정 권한을 가진 공격자는 error_log 함수를 호출하여 웹 접근이 가능한 파일에 PHP 페이로드를 추가함으로써 원격 코드 실행(RCE)을 달성할 수 있습니다.
💡 쉬운 설명
웹사이트 관리 권한을 가진 사람이 시스템의 보안 규칙을 우회하여 악성 코드를 서버에 몰래 심을 수 있는 결함입니다. 이를 통해 공격자는 서버를 마음대로 조종할 수 있게 됩니다.
🇺🇸 원문 (English)
Grav before 2.0.15 contains an arbitrary file write vulnerability in the Blueprint dynamic-data bare-function validation that uses an incomplete denylist instead of a positive allowlist. Attackers with page-edit or blueprint-config access can invoke the error_log function through a data directive to append PHP payloads to web-accessible files, achieving remote code execution.
📍 영향받는 시스템
Grav CMS versions prior to 2.0.15
⚔️ 공격 벡터
page-edit 또는 blueprint-config 권한을 이용한 data directive 내 error_log 함수 호출
🛡️ 대응 방법
Grav CMS를 2.0.15 버전 이상으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 Grav 버전이 2.0.15 미만인 경우 해당 취약점에 노출된 상태입니다.
grep -r "version:" composer.json 2>/dev/null || echo 'Check Grav version via CLI or admin panel'