2009 年 2 月 28 日星期六

in_place_editing 插件中的 XSS 和 CSRF 漏洞

发布于 michael

有人向我们报告了 in_place_editing 插件中存在多个漏洞,该插件是在 Ruby on Rails 2.0.0 发布之前创建的。

  • in_place_edit_for 生成的动作没有验证请求方法,这让恶意网站能够绕过内置的 CSRF 保护。
  • in_place_editor_field 生成的输入控件没有执行输出清除,令该应用程序容易受到 XSS 攻击。

我们建议所有该插件版本的用户都更新到我们 git 仓库中的最新版本,地址:

git://github.com/rails/in_place_editing.git

对于那些无法使用 git 的用户,我们已经提供了包含已修补代码的 zip 文件。同时也可以使用包含修复内容的 补丁

建议所有 2.0 之前的 Rails 版本的用户停止使用 in_place_editing 功能,或者手动将这些更改应用到自己的 Rails 版本。如果这些更改进行了反向移植,这篇文章将更新为包含适用于相关 Rails 版本的补丁。

感谢 Code Sprinters 的 Pawel Stradomski 向我们报告了该漏洞,并耐心与我们合作来解决该漏洞。