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 日