由 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 和 0.1.1 或更高版本。您可以使用 gem update cgi
来更新它。如果您使用 bundler,请将 gem "cgi", ">= 0.3.1"
添加到您的 Gemfile
中。或者,请将 Ruby 更新到 2.7.5 或 3.0.3。
此问题自 Ruby 2.7 引入,因此与 Ruby 2.6 捆绑的 cgi 版本不受此漏洞影响。
受影响的版本
- cgi gem 0.1.0 或更早版本(与 Ruby 2.7 系列捆绑的版本,在 Ruby 2.7.5 之前)
- cgi gem 0.2.0 或更早版本(与 Ruby 3.0 系列捆绑的版本,在 Ruby 3.0.3 之前)
- cgi gem 0.3.0 或更早版本
鸣谢
感谢 chamal 发现此问题。
历史记录
- 最初发布于 2021-11-24 12:00:00 (UTC)