Play 框架安全公告

CORS 过滤器中不正确的 Vary 标头处理

日期

2017 年 10 月 5 日

描述

Play 的 CORS 过滤器会在某些配置中覆盖 Vary 标头,这在某些情况下会导致缓存中毒。这可能会将敏感信息暴露给未经授权的用户。

影响

当 CORS 过滤器用于匹配特定的一组来源(而不是允许任何来源)时,它会在响应中添加 Vary: Origin 标头。这样做也会覆盖 Vary 标头的任何现有值,使应用程序容易受到缓存中毒的攻击。

这只会影响在 CORS 过滤器过滤的操作中设置 Vary 标头的应用程序。

受影响的版本

解决方法

禁用 CORS 过滤器(如果不需要)或完全禁用任何依赖于向 Vary 添加其他标头的页面的缓存(Cache-Control: no-cache)。

修复

此问题已在 Play 2.6.6 和 Play 2.5.18 中修复。