はじめに
このトピックは IMPORTANT Security Update: CVE-2020-12725 - Authenticated Server-Side Request Forgery (SSRF) in the JSON data source / internal addresses restriction bypass 🛡 の原文を日本のユーザーのみなさま向けに翻訳し、一部再構成したものです。
このトピックについての質問などは、可能な限り上記の原文に英語でコメントしてください。
こちらの日本語トピックでは公式の対応ができないため、コメントはご遠慮ください。
日本語訳についての修正提案などは、このトピックにコメントをおねがいします。
URL または JSON データソースを使用していない場合や、ユーザーを信頼している場合は、ほとんど心配する必要はありません。
それ以外の場合は、以下を読み進めてください。
URL または JSON データソースのいずれかを有効にしている場合、
ユーザーはそれらを使用して、ネットワーク内のプライベートアドレスにアクセスできます。
たとえば、AWS ではこれらのデータソースの1つを使用して、インスタンスメタデータにアクセスすることができます。
URL データソースは、設計により任意のアドレスへのアクセスを許可しますが、バージョン8以降は非推奨となっています。
JSON データソースはプライベートアドレス URL をフィルタリングすることになっていますが、これは次のいずれかのオプションでバイパスできます。
- リダイレクト URL を使用する
- これは #4924 で対処されており、デフォルトではリダイレクトを防止しますが、ユーザーを信頼できる場合はリダイレクトを有効にできます。
- DNS Rebinding
- これは現在のところオープンソースバージョンでは対処されていませんが、プロキシを使用してこれらのリクエストを実行するなど、いくつかの解決策があります。
現時点では、ユーザーがこれを利用することを懸念している場合は、URL または JSON データソースを使用できるユーザーを制限するか、完全に無効にすることができます。
パッチ
v9 beta には、リダイレクトを使用する機能の修正が含まれています #4924。
回避策
現時点では v9 beta にアップグレードできないが、この脆弱性に対応する場合は、いくつかの選択肢があります。
- JSON / URLデータソースへのフルアクセスを、信頼できるユーザーのグループのみに制限する
- 残りは既存のクエリでこのデータソースを引き続き使用できますが、任意のURLをクエリすることはできなくなります
- JSON / URL を使用しているデータソースを削除する
- 環境変数
REDASH_DISABLED_QUERY_RUNNERS
にredash.query_runner.url,redash.query_runner.json_ds
を設定する
参考文献
これは、最初に #4869 の Havoc Research によって報告されました。
詳細については、その開示を確認することをお勧めします。
彼らは CVE を Critical として分類しましたが、Redash のユースケースと対象ユーザーを考慮して、CVE を Critical とは見なしていません。
しかし、彼らが述べたように、影響範囲は使用される環境に依存します。
詳細について
これについて質問やコメントがある場合は、この トピック(原文) に返信してください。
この問題または Redash に関連するその他のセキュリティ問題についてさらに開示がある場合は、 security@redash.io までメールでお問い合わせください。