🇰🇷 한글 설명
Grav 9.1.8 미만 버전의 Form 플러그인에서 임의 파일 쓰기 취약점이 발견되었습니다. process.save.filename 파라미터가 Twig 템플릿 처리 후 재검증되지 않아, 공격자가 경로 탐색 시퀀스를 이용해 웹쉘과 같은 악성 파일을 서버에 생성할 수 있습니다.
💡 쉬운 설명
웹사이트의 양식(Form) 기능을 악용하여 해커가 서버에 몰래 명령어를 실행할 수 있는 파일을 심을 수 있는 문제입니다. 이를 통해 해커는 웹사이트의 제어권을 완전히 탈취할 수 있습니다.
🇺🇸 원문 (English)
Grav before 9.1.8 contains an arbitrary file write vulnerability in the Form plugin's process.save.filename parameter, which is validated against path traversal before Twig processing but never re-validated after rendering. Attackers can submit form data containing path traversal sequences that are processed through Twig templates, allowing them to write arbitrary files including PHP webshells to the web root or other sensitive directories.
📍 영향받는 시스템
Grav CMS (9.1.8 미만 버전) 및 Form 플러그인
⚔️ 공격 벡터
Form 플러그인의 파라미터에 경로 탐색(Path Traversal) 문자를 포함한 데이터를 전송하여 악성 파일 업로드
🛡️ 대응 방법
Grav CMS를 최신 버전(9.1.8 이상)으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 9.1.8 미만의 버전 번호가 나타나면 취약한 상태입니다.
grep -r "Grav" /path/to/your/cms/vendor/composer/installed.json | grep -E '"version": "[0-8]\.'