CVE-2021-41819: CGI::Cookie.parse 中的 Cookie Prefix 欺骗漏洞

mame 发布于 2021年11月24日

在 CGI::Cookie.parse 中发现了一个 cookie 前缀欺骗漏洞。该漏洞已分配 CVE 标识符 CVE-2021-41819。我们强烈建议升级 Ruby。

详情

旧版本的 CGI::Cookie.parse 会对 cookie 名称进行 URL 解码。攻击者可以利用此漏洞在 cookie 名称中伪造安全前缀,从而可能欺骗易受攻击的应用程序。

通过此修复,CGI::Cookie.parse 不再解码 cookie 名称。请注意,如果您的 cookie 名称包含 URL 编码的非字母数字字符,则这可能是一个不兼容的更改。

这是 CVE-2020-8184 的同一问题。

如果您正在使用 Ruby 2.7 或 3.0

  • 请将 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.6

  • 请将 Ruby 更新至 2.6.9。您无法为 Ruby 2.6 或更早版本使用 gem update cgi

受影响的版本

  • ruby 2.6.8 或更早版本(您不能为该版本使用 gem update 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 或更早版本

致谢

感谢 ooooooo_q 发现此问题。

历史

  • 最初发布于 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 日

更多新闻...