CVE-2020-10933: socket 库中的堆暴露漏洞
由 mame 发布于 2020 年 3 月 31 日
在 socket 库中发现了一个堆暴露漏洞。该漏洞已被分配 CVE 标识符 CVE-2020-10933。我们强烈建议升级 Ruby。
详情
当调用带有 size 和 buffer 参数的 BasicSocket#recv_nonblock 和 BasicSocket#read_nonblock 时,它们会首先将 buffer 重置为指定的大小。在操作会阻塞的情况下,它们会返回而不会复制任何数据。因此,buffer 字符串现在将包含来自堆的任意数据。这可能会泄露解释器中可能存在的敏感数据。
此问题仅在 Linux 上可被利用。此问题自 Ruby 2.5.0 起存在;2.4 系列不受此漏洞影响。
受影响的版本
- Ruby 2.5 系列:2.5.7 及更早版本
- Ruby 2.6 系列:2.6.5 及更早版本
- Ruby 2.7 系列:2.7.0
- 主分支 revision 61b7f86248bd121be2e83768be71ef289e8e5b90 之前
致谢
感谢 Samuel Williams 发现此问题。
历史
- 最初发布于 2020-03-31 12:00: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 日