2011 年 11 月 18 日星期五

Rails 3.0.11 已发布

投稿人 jonleighton

Rails 3.0.11 已发布。这是一个包含 bug 修复程序和一个重要安全修复程序的补丁级版本。

Ruby on Rails translate 帮助程序方法中存在可能的 XSS 漏洞

translate 帮助程序方法中存在一个漏洞,可能允许攻击者向页面中插入任意代码。

  • 受影响的版本:3.0.0 及更高版本、2.3.X 以及 rails_xss 插件
  • 不受影响:在没有 rails_xss 插件的情况下,3.0.0 之前的版本没有自动 XSS 转义,因此不被视为存在漏洞
  • 已修复版本: 3.0.11, 3.1.2

有关更多详细信息,请参阅 rubyonrails-security 发布内容 和下面的变更日志条目。

变更

Action Mailer

  • 无变更

Action Pack

  • 修复 translate 帮助程序方法中的 XSS 安全漏洞。在将插值与 HTML 安全翻译结合使用时,插值输入不会获得 HTML 转义。GH 3664

    之前

    translate('foo_html', :something => '<script>') # => "...<script>..."
    

    之后

     translate('foo_html', :something => '<script>') # => "...<script>..."
    

    Sergey Nartimov

  • 实现一个解决 Ruby 1.9.3 P0 中的一个 bug 的临时解决办法,在该 bug 中,在尝试将一个模板从一种编码转换为另一种编码时会出现一个错误。

    有关该 bug 的详细信息,请参阅 http://redmine.ruby-lang.org/issues/5564

    解决办法是提前将所有转换加载到内存中,并且只有在 Ruby 版本恰好是 1.9.3 P0 时才会发生此情况。当然,希望的是在 1.9.3 的下一补丁级别版本中会解决底层问题。

  • 修复 assert_select_email 以处理多部分和非多部分电子邮件,因为该方法由于新邮件 gem 中的变更在 Rails 3.x 中无法正常工作。

  • 修复 url_for,在传递哈希时防止在调用它之后向哈希中添加其他选项(例如::host、:protocol)。

Active Model

  • 无变更

Active Record

  • 数据库适配器的异常不应丢失其回溯。

  • 反向移植“ActiveRecord::Persistence#touch 不应使用 default_scope”(GH #1519)

  • 处理格式错误的 yaml 的 Psych 错误。修复 GH #2645 和 GH #2731

  • 修复在传递空值时 ActiveRecord#exists?

Active Resource

  • 无变更

Active Support

  • 无变更

Railties

  • 将 Prototype UJS 更新到最新版本,修复 IE 中的多个错误[Guillermo Iguaran]

与以往一样,您可以在 Github 上 查看版本之间的完整提交列表