Apache NiFi 0.0.1から2.9.0までは、標準のHostヘッダーに代わる複数のHTTPリクエストヘッダーのいずれかから修飾URLを構築することをサポートしていましたが、提供された値の検証は行われていませんでした。Apache NiFi 1.6.0では、HTTP Hostヘッダーに提供される値を制限する設定可能なアプリケーションプロパティが導入されましたが、代替のProxyおよびForwardedヘッダーにはこの検証が適用されていませんでした。プロキシホストヘッダーの検証が欠如していたため、クライアントはApache NiFiのウェブサービスに対して無効な修飾URLをリダイレクトやデータ参照のために構築させることができました。推奨される緩和策はApache NiFi 2.10.0へのアップグレードであり、これはnifi.web.proxy.hostプロパティに基づいてX-ProxyHostおよびX-Forwarded-Host HTTPリクエストヘッダーに対する検証を実装しています。ヘッダー検証を有効にするには、HTTPSでアプリケーションを構成する必要があります。Apache NiFiの前に配置されたリバースプロキシサーバーは、入力リクエストヘッダーをフィルタリングし、アプリケーションに許可された値を提供する役割を担います。
|