RDoc 文档生成的 XSS 漏洞 (CVE-2013-0256)
由 usa 于 2013 年 2 月 6 日发布
Ruby 捆绑的 rdoc 生成的 RDoc 文档容易受到 XSS 攻击。建议所有 Ruby 用户更新到包含安全修复的 RDoc 的 Ruby 版本。如果您正在发布由 rdoc 生成的 RDoc 文档,建议您应用文档补丁或使用安全修复的 RDoc 重新生成。
影响
rdoc 2.3.0 至 rdoc 3.12 以及 prereleases(最高到 rdoc 4.0.0.preview2.1)生成的 RDoc 文档存在 XSS 漏洞。此漏洞可能导致 cookie 信息泄露给第三方。
详情
该漏洞存在于 darkfish.js 文件中,该文件会从 RDoc 的安装位置复制到生成的文档中。
RDoc 是一个静态文档生成工具。仅修补库本身不足以解决此漏洞。托管 rdoc 文档的用户需要应用以下补丁。
解决方案
请将以下补丁应用于 rdoc 文档。如果忽略空格应用此补丁,将修复所有受影响的版本。
diff --git darkfish.js darkfish.js
index 4be722f..f26fd45 100644
--- darkfish.js
+++ darkfish.js
@@ -109,13 +109,15 @@ function hookSearch() {
function highlightTarget( anchor ) {
console.debug( "Highlighting target '%s'.", anchor );
- $("a[name=" + anchor + "]").each( function() {
- if ( !$(this).parent().parent().hasClass('target-section') ) {
- console.debug( "Wrapping the target-section" );
- $('div.method-detail').unwrap( 'div.target-section' );
- $(this).parent().wrap( '<div class="target-section"></div>' );
- } else {
- console.debug( "Already wrapped." );
+ $("a[name]").each( function() {
+ if ( $(this).attr("name") == anchor ) {
+ if ( !$(this).parent().parent().hasClass('target-section') ) {
+ console.debug( "Wrapping the target-section" );
+ $('div.method-detail').unwrap( 'div.target-section' );
+ $(this).parent().wrap( '<div class="target-section"></div>' );
+ } else {
+ console.debug( "Already wrapped." );
+ }
}
});
};另外,如果您使用的是 ruby 1.9,请更新至 ruby-1.9.3 patchlevel 385。如果您使用的是 ruby 2.0.0 rc1 或更早版本,或者 ruby trunk,请更新至 ruby 2.0.0 rc2 或 trunk revision 39102 或更高版本。您也可以通过 rubygems 更新 RDoc 本身至 RDoc 3.12.1 或 RDoc 4.0.0.rc.2。
受影响的版本
- 所有 ruby 1.9 版本,低于 ruby 1.9.3 patchlevel 383 的版本。
- 所有 ruby 2.0 版本,低于 ruby 2.0.0 rc2 或 trunk revision 39102 的版本。
致谢
此漏洞由 Evgeny Ermakov <corwmh@gmail.com> 发现。
此漏洞已分配 CVE 标识符 CVE-2013-0256。
历史
- 最初发布于 2013-02-06 13:30:00 (UTC)
近期新闻
Ruby 4.0.0 发布
我们很高兴地宣布 Ruby 4.0.0 的发布。Ruby 4.0 引入了“Ruby Box”和“ZJIT”,并增加了许多改进。
由 naruse 发布于 2025 年 12 月 25 日
Ruby 文档的全新外观
继 ruby-lang.org 重新设计之后,我们还有更多好消息来庆祝 Ruby 成立 30 周年:docs.ruby-lang.org 采用了 Aliki——RDoc 的新默认主题,焕然一新。
由 Stan Lo 发布于 2025 年 12 月 23 日
重新设计我们的网站标识
我们很高兴地宣布对我们的网站进行全面重新设计。此次更新的设计由 Akatsuka Taeko 创作。
由 Hiroshi SHIBATA 发布于 2025 年 12 月 22 日
Ruby 4.0.0 preview3 发布
我们很高兴地宣布 Ruby 4.0.0-preview3 的发布。Ruby 4.0 引入了 Ruby::Box 和“ZJIT”,并增加了许多改进。
由 naruse 发布于 2025 年 12 月 18 日