| タイトル | Nine NinesのCowlibにおけるCRLF インジェクションの脆弱性 |
|---|---|
| 概要 | nineninesのcowlibにおけるCRLFシーケンスの不適切な無害化(『CRLFインジェクション』)の脆弱性により、検証されていないクッキー名および値のフィールドを介してHTTPリクエストの分割およびクッキーのすり抜けが可能になります。cowlibのcow_cookie:cookie/1は、名前と値のペアのリストからクライアント側のCookieリクエストヘッダーを構築しますが、いずれのフィールドも検証しません。この関数に渡されるクッキー名または値を攻撃者が制御すると、シリアライズされたヘッダーに;、,、CR、LF、またはTAB文字を注入できます。これにより、一つのヘッダー内にクッキーをすり抜けさせる攻撃(例:「; admin=1」を注入して受信サーバーが正当とみなす幻のクッキーを導入する)およびHTTPリクエストヘッダーの分割(CRLFを注入して任意のヘッダーを追加し、共有アップストリームプロキシに対して完全な2番目のリクエストをすり抜ける)という2つの攻撃の種類が可能となります。デコーダ側(parse_cookie_name/1、parse_cookie_value/1)およびsetcookie/3は既にこれらの文字を検証して拒否していますが、エンコーダ側のみがこのチェックを欠いています。この問題はバージョン2.9.0以降のcowlibに影響します。 |
| 想定される影響 | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃により、他のソフトウェアにも影響が及ぶ可能性があります。 |
| 対策 | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年5月11日0:00 |
| 登録日 | 2026年5月25日10:24 |
| 最終更新日 | 2026年5月25日10:24 |
| CVSS3.0 : 低 | |
| スコア | 3.2 |
|---|---|
| ベクター | CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N |
| Nine Nines |
| Cowlib 2.9.0 から 2.16.1 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年05月25日] 掲載 |
2026年5月25日10:24 |
| 概要 | Improper Neutralization of CRLF Sequences ('CRLF Injection') vulnerability in ninenines cowlib allows HTTP request splitting and cookie smuggling via unvalidated cookie name and value fields. cow_cookie:cookie/1 in cowlib builds a client-side Cookie: request header from a list of name-value pairs without validating either field. An attacker who controls the cookie names or values passed to this function can inject ;, ,, CR, LF, or TAB characters into the serialized header. This enables two classes of attack: cookie smuggling within a single header (e.g. injecting "; admin=1" to introduce a phantom cookie that the receiving server treats as authentic) and HTTP request header splitting (injecting CRLF to append arbitrary headers or smuggle a complete second request against a shared upstream proxy). The decoder side (parse_cookie_name/1, parse_cookie_value/1) and setcookie/3 already validate and reject these characters; the encoder alone is missing the check. This issue affects cowlib from 2.9.0. |
|---|---|
| 公表日 | 2026年5月12日4:16 |
| 登録日 | 2026年5月13日4:10 |
| 最終更新日 | 2026年5月14日0:57 |