Querybuilder API は、Dispatcher フィルターをバイパスし、機密情報を公開します
この記事では、Adobe Experience Manager as a Cloud Service(AEMaaCS)で Querybuilder API が Dispatcher フィルターをバイパスして機密情報を公開する可能性があるアクセス制御の問題について説明します。 この問題を解決するには、特定のエンドポイントへの不正アクセスをブロックするように設定を更新する必要があります。
説明 description
0.5511122
製品:Adobe Experience Manager(AEM) as Cloud Service - Sites
問題/症状
URL でエンコードされたスラッシュ (%2F)が使用されている場合、/bin/querybuilder.jsonや/etc/truststore.jsonなどの特定のエンドポイントへのリクエストでは、Dispatcher フィルターが使用されません。 これにより、内部ノードや機密ファイルへの不正アクセスが可能になります。
解決策 resolution
この問題を解決するには、次の手順に従います。
影響を受ける各仮想ホスト構成ファイルを開きます。
設定ファイル内で < VirtualHost> タグを見つけます。
次の LocationMatch ブロックを < VirtualHost> タグ内に追加します。
< LocationMatch "(?i)/(etc/truststore.json|bin/querybuilder.json)(;|%3B)">
ProxyPass "!"< /LocationMatch>
変更を仮想ホスト構成ファイルに保存します。
http://localhost:8082/%2fbin%2fquerybuilder.json?path=/etc のようなリクエストを送信してテストします。 404 Not Found エラーが返されることを確認してください。このエラーは、エンコードされたスラッシュがDispatcherに到達する前に Apache レベルでブロックされることを示します。