| 概要 | HTTP header injection vulnerability in the URLConnection class in Android OS 2.2 through 6.0 allows remote attackers to execute arbitrary scripts or set arbitrary values in cookies. |
|---|---|
| 公表日 | 2017年4月14日2:59 |
| 登録日 | 2021年1月26日14:06 |
| 最終更新日 | 2024年11月21日11:45 |
| CVSS3.0 : CRITICAL | |
| スコア | 9.8 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 攻撃元区分(AV) | ネットワーク |
| 攻撃条件の複雑さ(AC) | 低 |
| 攻撃に必要な特権レベル(PR) | 不要 |
| 利用者の関与(UI) | 不要 |
| 影響の想定範囲(S) | 変更なし |
| 機密性への影響(C) | 高 |
| 完全性への影響(I) | 高 |
| 可用性への影響(A) | 高 |
| CVSS2.0 : HIGH | |
| スコア | 7.5 |
|---|---|
| ベクター | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| 攻撃元区分(AV) | ネットワーク |
| 攻撃条件の複雑さ(AC) | 低 |
| 攻撃前の認証要否(Au) | 不要 |
| 機密性への影響(C) | 低 |
| 完全性への影響(I) | 低 |
| 可用性への影響(A) | 低 |
| 全ての特権を取得 | いいえ |
| ユーザー権限を取得 | いいえ |
| その他の権限を取得 | いいえ |
| ユーザー操作が必要 | いいえ |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:o:google:android:2.2.3:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:3.2.6:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:5.1.0:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.2:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.1:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:3.2.4:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:5.0.2:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:6.0:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:3.2:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:3.2.2:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.0.2:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.3:rev1:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.4.3:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.3.6:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.0.4:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.3:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.0.1:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.3.3:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.4.4:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:3.0:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.2.1:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.3.1:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.3.5:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:5.0.1:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:3.1:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:5.0:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.0.3:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.2.1:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.2.2:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.2:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.3.4:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.0:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.4:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.4.1:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.3.7:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.2:rev1:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:5.1.1:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.2.2:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.3.2:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.3.1:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:3.2.1:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.4.2:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:2.3:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:5.1:*:*:*:*:*:*:* | |||||
| cpe:2.3:o:google:android:4.1.2:*:*:*:*:*:*:* | |||||
| タイトル | Android Platform の URLConnection クラスに HTTP ヘッダインジェクションの脆弱性 |
|---|---|
| 概要 | Android Platform の URLConnection クラスには、HTTP ヘッダインジェクションの脆弱性が存在します。 Android Platform の URLConnection クラスは、Android のバージョンにより実装が異なっており Android 4.4.2 からは、オープンソースの OkHttp から取り込んだソースコードを使用しています。 OkHttp の 2.5.0 より前のバージョンには HTTP ヘッダインジェクションの脆弱性があります。 Android Platform では OkHttp 2.5.0 より前のバージョンのソースコードを取り込んでいる URLConnection クラスに同じ脆弱性が存在しています。 Android Platform の URLConnection.setRequestProperty() や URLConnection.addRequestProperty() を使っている実行環境では、アプリケーションが HTTP ヘッダを設定・追加する際に、外部から受け取った信頼できない値を検証しないまま使っていると HTTP ヘッダインジェクションが行なわれる可能性があります。 RFC 2616 の 2.2 Basic Rules によると HTTP ヘッダフィールド値は継続行が許可されています。 "HTTP/1.1 header field values can be folded onto multiple lines if the continuation line begins with a space or horizontal tab. All linear white space, including folding, has the same semantics as SP. A recipient MAY replace any linear white space with a single SP before interpreting the field value or forwarding the message downstream." RFC 2616 は RFC7230 から RFC7235 が発行された際に obsoleted になりました。 RFC 7230 の 3.2.4 Field Parsing によると message/http media type 以外は継続行が許可されなくなりました。 "Historically, HTTP header field values could be extended over multiple lines by preceding each extra line with at least one space or horizontal tab (obs-fold). This specification deprecates such line folding except within the message/http media type (Section 8.3.1). A sender MUST NOT generate a message that includes line folding (i.e., that has any field-value that contains a match to the obs-fold rule) unless the message is intended for packaging within the message/http media type." |
| 想定される影響 | 想定される影響はアプリケーションによって異なりますが、表示されるページが改ざんされたり任意のスクリプトが実行されたり Cookie に任意の値を設定されたりする可能性があります。 |
| 対策 | [対策済みの OkHttp を使用する] OkHttp では本脆弱性はバージョン 2.5.0 で修正されています。最新の OkHttp を使いアプリケーションを再実装することで対策を行う事が可能です。 Android Platform では、Android 6.0 をリリースした後に Github の master branch で OkHttp 2.5.0 の修正を取り込んでいます。 [ワークアラウンド] Android Platform の URLConnection.setRequestProperty() や URLConnection.addRequestProperty() の引数として渡される文字列の中に、制御文字など不正な文字が含まれないように入力値検査を行ってください。 詳細は RFC7230 3.2.4 Field Parsing を参照してください。 |
| 公表日 | 2016年2月19日0:00 |
| 登録日 | 2016年2月19日16:54 |
| 最終更新日 | 2018年3月29日11:12 |
| Android 2.2 から 6.0 に含まれる URLConnection クラス |
| No | 変更内容 | 変更日 |
|---|---|---|
| 0 | [2016年02月19日] 掲載 [2017年05月23日] CVSS による深刻度:内容を更新 CWE による脆弱性タイプ一覧:CWE-ID を追加 参考情報:National Vulnerability Database (NVD) (CVE-2016-1155) を追加 |
2018年2月17日10:37 |
| 1 | [2018年03月29日] ベンダ情報:日本電気 (NV18-007) を追加 |
2018年3月29日9:58 |