Ruby on Rails Translate Helper方法跨站脚本执行漏洞

发布日期:2011-11-17
更新日期:2011-11-21

受影响系统:
Ruby on Rails Ruby on Rails 3.x
不受影响系统:
Ruby on Rails Ruby on Rails 3.1.2
Ruby on Rails Ruby on Rails 3.0.11
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 50722

Ruby on Rails简称RoR或Rails,是一个使用Ruby语言写的开源Web应用框架,它是严格按照MVC结构开发的。

Ruby on Rails在Translate Helper方法的实现上存在安全漏洞,远程攻击者可利用此漏洞在受影响站点的用户浏览器中执行任意脚本代码,窃取Cookie身份验证凭证。

Translate Helper方法将翻译字符串以html结尾的名称视为HTML安全,并具有插入机制。这些html字符串可使任意值包含在篡改的输入中,并且不可转义。

<*来源:Sergey Nartimov
 
  链接:?pli=1
*>

建议:
--------------------------------------------------------------------------------
临时解决方法:

手动转义所有篡改的输入,例如:

translate('some_html', :some => '<input>')
应更改为:
  translate('some_html', :some => h('<input>'))

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwfwdx.html