Ruby 在安全级别设置中的漏洞

Matz 于 2005 年 10 月 3 日发布

下方列出的 Ruby 版本存在一个漏洞,允许在绕过安全级别检查的情况下执行任意代码。

Date published: 2005-10-02
Versions affected:
  Stable releases(1.8.x) - Versions 1.8.2 and earlier (fixed on Version 1.8.3)
  Old releases(1.6.x) - Versions 1.6.8 and earlier
  Development versions(1.9.0) - Versions 2005-09-01 and earlier (fixed on Version 2005-09-02)

解决方案

使用稳定版本(1.8.x)和开发版本(1.9.0)的用户应将 Ruby 更新到上面列出的最新版本。旧版本(1.6.x)的用户应更新到稳定版本(1.8.x),或从以下 URL 下载 1.6.x 的最新快照,然后进行构建和安装。

https://cache.ruby-lang.org/pub/ruby/snapshot-1.6.tar.gz

此外,还提供了 ruby-1.6.8.tar.gz 的补丁,位于以下位置:

https://cache.ruby-lang.org/pub/ruby/1.6/1.6.8-patch1.gz

md5sum: 7a97381d61576e68aec94d60bc4cbbab

此外,还提供了 ruby-1.8.2.tar.gz 的补丁,位于以下位置:

https://cache.ruby-lang.org/pub/ruby/1.8/1.8.2-patch1.gz

md5sum: 4f32bae4546421a20a9211253da103d3

描述

面向对象的脚本语言 Ruby 支持通过两种机制安全地执行不受信任的代码:安全级别和对象的污点标志(taint flag)。已发现一个允许绕过这些机制的漏洞。利用此漏洞,可以执行任意代码,从而超出每个安全级别所指定的限制。因此,所有使用安全级别执行不受信任代码的系统都必须更新 Ruby。

参考

JVN#62914675 http://jvn.jp/jp/JVN%2362914675/index.html (日语)

致谢

感谢日本产业技术综合研究所信息安全研究中心的 Yutaka Oiwa 博士,他发现了允许绕过安全级别的漏洞。

近期新闻

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 日

更多新闻...