CVE-2021-41819: CGI::Cookie.parse 内の Cookie プレフィックスの偽装
Posted by mame on 24 Nov 2021
Translated by jinroq
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 を使用している場合は、Gemfileにgem "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) 初版
最近のニュース
Ruby 4.0.0 リリース
Ruby 4.0.0 が公開されました。 Ruby 4.0 には “Ruby Box”、”ZJIT” ほか多数の改善が含まれています。
Posted by naruse on 25 Dec 2025
サイトのアイデンティティの再設計
サイトの包括的なデザインのアップデートを発表できることを嬉しく思います。今回の更新ではTaeko Akatsukaさんにデザインを担当していただきました。
Posted by Hiroshi SHIBATA on 22 Dec 2025
Ruby 4.0.0 preview3 リリース
Ruby 4.0.0-preview3 が公開されました。
Posted by naruse on 18 Dec 2025
Ruby 4.0.0 preview2 リリース
Ruby 4.0.0-preview2 が公開されました。Ruby 4.0では、Unicodeバージョンの17.0.0へのアップデートなど様々な改善が行われています。
Posted by naruse on 17 Nov 2025