CVE-2021-41819: CGI::Cookie.parse 内の Cookie プレフィックスの偽装

CGI :: Cookie.parse 内で Cookie プレフィックスを偽装する脆弱性が発見されました。 この脆弱性は、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 を使用している場合は、 Gemfilegem "cgi", "> = 0.3.1" を追加してください。
  • または、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 より前にバンドルされている Ruby3.0 系列)
  • cgi gem 0.3.0 以前

クレジット

この脆弱性情報は、ooooooo_q 氏によって報告されました。

更新履歴

  • 2021-11-24 21:00:00 (JST) 初版