CORS フィルターの不適切な Vary ヘッダーの処理
日付
2017 年 10 月 5 日
説明
特定の構成で、Play の CORS フィルターは Vary
ヘッダーを上書きします。これは、場合によってはキャッシュポイズニングの原因になります。これにより、機密情報が権限のないユーザーに公開される可能性があります。
影響
CORS フィルターが特定のオリジンセットとの照合に使用される場合 (すべてのオリジンを許可する場合とは対照的に)、レスポンスに Vary: Origin
ヘッダーが追加されます。そうすることで、Vary
ヘッダーの既存の値も上書きされ、アプリケーションがキャッシュポイズニングに脆弱になります。
これは、CORS フィルターでフィルタリングされたアクションに Vary
ヘッダーを設定するアプリケーションにのみ影響します。
影響を受けるバージョン
- Play 2.6.0-2.6.5 (2.6.6 で修正)
- Play 2.4.0-2.5.17 (2.5.18 で修正)
回避策
CORS フィルターを無効にする (不要な場合) か、Vary
に追加ヘッダーを追加する必要があるページでキャッシュを完全に無効にする (Cache-Control: no-cache
)。
修正
この問題は、Play 2.6.6 および Play 2.5.18 で修正されています。