安全发布 - CakePHP 1.2.12、1.3.16、2.2.8 和 2.3.4

如果您正在使用 CakePHP 的 PaginatorComponent 且没有白名单排序字段,则应尽快升级以防止可能的 SQL 注入。

CakePHP 1.2.12、1.3.16、2.2.8 和 2.3.4 刚刚发布,修复了分页和 PaginatorComponent 处理排序条件方面的严重问题。在没有排序列白名单的情况下进行分页时,可以通过操作排序条件执行任意 SQL。在接下来的几天里,我们将提供有关漏洞及其利用方式的完整描述,在我们用户有足够时间升级之后。

除了安全修复之外,2.3.4 还包含以下问题的修复

  • 添加了对 HTTP 代码 505 的支持。
  • 当没有当前路由时,Router::currentRoute() 返回 false。
  • 在清除组后写入文件缓存现在按预期工作。
  • 当不使用 URL 重写时,使用 fullBase 的资产 URL 现在生成正确。

2.2.8 中除了安全修复之外没有其他修复。

除了安全修复之外,1.3.16 还包含以下问题的修复

  • Databases 现在被正确地单数化。
  • 使用 saveAll() 保存翻译现在效果更好。
  • Oracle listSources() 不再从全局表命名空间读取。
  • cake 控制台命令现在可以在 MacOS 上正常工作。
  • 混合使用 query[contain] 和 contain() 现在可以正确交互。

除了安全修复之外,1.2.12 还包含以下问题的修复

  • 现在在创建缓存文件时设置 umask。
  • 现在正确生成多部分电子邮件消息的边界。
  • 改进了与 PHP 5.4 的兼容性。

我们建议所有 1.2、1.3 和 2.x 版本系列的用户尽快升级到新版本。