2011年4月5日,星期二

Rails 3.0.6 已发布!

由 aaronp 发布

大家好!Rails 3.0.6 已发布!

我们先来处理重要的事情

Rails 3.0.6 包含重要的安全修复!请升级!

Rails 3.0.x 版本早于 3.0.6 的版本存在 XSS 漏洞。该漏洞通过 `auto_link` 方法表现出来。`auto_link` 方法会自动将输入字符串标记为“html safe”,即使输入来自未知来源。

例如

<%= auto_link(params[:content]) %>

如果“content”参数包含恶意 JavaScript,该脚本将在未被转义的情况下被渲染。

我如何保护自己?

  • 升级到 Rails 3.0.6,然后传递给 `auto_link` 的内容将自动为您转义。

  • 如果您无法升级 Rails,请应用在此处找到的补丁 此处。然后 `auto_link` 的内容将为您转义。

  • 如果您无法升级 Rails 或应用补丁,请像这样更改您对 `auto_link` 的调用,使其调用 sanitize:

    <%= sanitize(auto_link(params[:content])) %>

    如果您信任输入,请更改为:

    <%= raw(auto_link(params[:content])) %>

鸣谢

感谢 Torben Schulz 报告此问题!

重要事务完毕

经过两个候选版本的发布,我们非常激动地宣布 Rails 3.0.6 版本的发布!我想感谢所有尝试了候选版本并反馈了意见的人!我希望我们能在发布最终版本之前继续征求公众的反馈。

哈哈,更新日志!!!!

有关特定软件包的更改,请查看 GitHub 上每个特定项目的 CHANGELOG。更好的是,您可以查看比较视图 比较视图

值得注意的更改包括:

  • ActionPack 中上述安全修复 61ee3449674c591747db95f9b3472c5c3bd9e84d

  • ActiveRecord 中 `reorder` 方法的取消弃用 235a4142aa3fee73faa0f01e267a2b4254cea8ce

  • ActiveRecord 中“更便宜的属性读取”的回溯移植 86acbf1cc050c8fa8c74a10c735e467fb6fd7df8

  • 正确处理带时区属性上的 `before_type_cast` 0823bbd757f3654a08d300e27873758da606f06a

  • 在 sqlite3 插入中转义二进制数据 7222786c15eacbd432b2bce9798d3f3459f7e05f

  • 修复了 mysql 适配器的 schema 支持 eb1eac93151c1d45c3ef292d99bfcf74799185ea

此更改列表并非详尽无遗。它们只是我最喜欢的一些!有关完整列表,查看 CHANGELOG 文件或在 GitHub 上查看 diff。

GEM 校验和

如果您想完全确保您获得了正确的 gem,以下是我推送 gem 之前的 shasums!

shasum *

  • fc7b0503bdf99d1ec08dc0dcee3677ca1dd29f0f actionmailer-3.0.6.gem
  • e8fbefd5b0a46408dd557331700ea514a4c199ab actionpack-3.0.6.gem
  • 8509520744ecd8e6712158311a16ba4782b454e2 activemodel-3.0.6.gem
  • 3b392e811ba342a5bf430d89cf4f060d119aba64 activerecord-3.0.6.gem
  • 9eea440bdf885e857ebfb5ff8e31119f76a18a4e activeresource-3.0.6.gem
  • 175ba6286f7802edeeaab30f900d87a38f516728 activesupport-3.0.6.gem
  • ebeea3c1f03db3309ea9a6640e1767ab144ff567 rails-3.0.6.gem
  • 61e24f94ea87fc58175b2067f7f6a3a8c468bfe0 railties-3.0.6.gem

结束语

感谢您在我度假结束后等待我发布!我希望大家都能喜欢这个 Rails 的错误修复版本。下次我会尽量少度假!;-)

<3 <3 <3 <3 <3