CVE-2021-41816: CGI.escape_html 中的缓冲区溢出漏洞
由 mame 发布于 2021年11月24日
在 CGI.escape_html 中发现了一个缓冲区溢出漏洞。该漏洞已分配 CVE 标识符 CVE-2021-41816。我们强烈建议升级 Ruby。
详情
当你在 long 类型占用 4 个字节的平台(通常是 Windows)上将非常大的字符串(> 700 MB)传递给 CGI.escape_html 时,会发生一个导致缓冲区溢出的安全漏洞。
请将 cgi gem 更新到 0.3.1、0.2.1 或更高版本。你可以使用 gem update cgi 命令进行更新。如果你使用 bundler,请在你的 Gemfile 中添加 gem "cgi", ">= 0.3.1"。或者,请将 Ruby 更新到 2.7.5 或 3.0.3。
此问题自 Ruby 2.7 起引入,因此 Ruby 2.6 捆绑的 cgi 版本不受此漏洞影响。
受影响的版本
- cgi gem 0.1.0 或更早版本(Ruby 2.7.5 之前的 Ruby 2.7 系列的捆绑版本)
- cgi gem 0.2.0 或更早版本(Ruby 3.0.3 之前的 Ruby 3.0 系列的捆绑版本)
- cgi gem 0.3.0 或更早版本
致谢
感谢 chamal 发现此问题。
历史
- 最初发布于 2021-11-24 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 日