HTTP レスポンス分割の脆弱性に対するセキュリティ修正を含む、cgi gem 0.3.5、0.2.2、0.1.0.2 をリリースしました。
この脆弱性は、[CVE-2021-33621](https://www.cve.org/CVERecord?id=CVE-2021-33621) として登録されています。

## 詳細

アプリケーションが cgi gem と信頼できないユーザの入力を用いて HTTP レスポンスを生成している場合、攻撃者は、悪意のある HTTP レスポンスヘッダまたはボディを挿入することができます。

また、`CGI::Cookie` オブジェクトの内容が適切にチェックされていませんでした。もしアプリケーションがユーザの入力をもとに `CGI::Cookie` オブジェクトを作成している場合、攻撃者は、`Set-Cookie` ヘッダに不正な属性を挿入することができます。`CGI::Cookie` への入力はアプリケーションが信頼できるもののみ用いるべきですが、`CGI::Cookie#initialize` の引数をチェックする修正を含めました。

cgi gem を 0.3.5、0.2.2、0.1.0.2 またはそれ以降のバージョンにアップデートしてください。`gem update cgi` でアップデートできます。
bundler を使っている場合は、`Gemfile` に `gem "cgi", ">= 0.3.5"` を追加してください。

## 影響を受けるバージョン

* cgi gem 0.3.3 およびそれ以前のバージョン
* cgi gem 0.2.1 およびそれ以前のバージョン
* cgi gem 0.1.1、0.1.0.1、0.1.0

## クレジット

この脆弱性情報は、[Hiroshi Tokumaru](https://hackerone.com/htokumaru?type=user) 氏によって報告されました。

## 更新履歴

* 2022-11-22 11:00:00 (JST) 初版
