Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Android Platform の URLConnection に HTTP ヘッダインジェクションの脆弱性

4.406 Aufrufe

Veröffentlicht am

JVNVU#99757346 に関する説明資料
JVNVU#99757346 のアドバイザリリンク URL を修正 (7 of 65)

Veröffentlicht in: Software
  • You can hardly find a student who enjoys writing a college papers. Among all the other tasks they get assigned in college, writing essays is one of the most difficult assignments. Fortunately for students, there are many offers nowadays which help to make this process easier. The best service which can help you is ⇒ www.HelpWriting.net ⇐
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Hello! I can recommend a site that has helped me. It's called ⇒ www.WritePaper.info ⇐ So make sure to check it out!
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Hi there! I just wanted to share a list of sites that helped me a lot during my studies: .................................................................................................................................... www.EssayWrite.best - Write an essay .................................................................................................................................... www.LitReview.xyz - Summary of books .................................................................................................................................... www.Coursework.best - Online coursework .................................................................................................................................... www.Dissertations.me - proquest dissertations .................................................................................................................................... www.ReMovie.club - Movies reviews .................................................................................................................................... www.WebSlides.vip - Best powerpoint presentations .................................................................................................................................... www.WritePaper.info - Write a research paper .................................................................................................................................... www.EddyHelp.com - Homework help online .................................................................................................................................... www.MyResumeHelp.net - Professional resume writing service .................................................................................................................................. www.HelpWriting.net - Help with writing any papers ......................................................................................................................................... Save so as not to lose
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Sex in your area is here: ❶❶❶ http://bit.ly/2Q98JRS ❶❶❶
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Dating direct: ❤❤❤ http://bit.ly/2Q98JRS ❤❤❤
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Android Platform の URLConnection に HTTP ヘッダインジェクションの脆弱性

  1. 1. Android Platform の URLConnection クラスに HTTP ヘッダインジェクション の脆弱性 JPCERT コーディネーションセンター 情報流通対策グループ 佐藤 裕二
  2. 2. Copyright©2016 JPCERT/CC All rights reserved. 目次 1 前半 – 脆弱性の調査 —脆弱性調査の経緯 —HTTP ヘッダインジェクションの概要 —脆弱な URLConnection クラス —Proof of Concept code —脆弱性の影響を受ける Android バージョン
  3. 3. Copyright©2016 JPCERT/CC All rights reserved. 目次 2 後半 – ソースコードの詳細調査 —Android Platform が提供している Java 実行環境 —正しい URLConnection クラスの実装 (OpenJDK) —脆弱な URLConnection クラスの実装 (Android 6.0) —修正された URLConnection クラスの実装 (master ブランチ) まとめ 参考情報 謝辞
  4. 4. Copyright©2016 JPCERT/CC All rights reserved. 前半 - 脆弱性の調査 3
  5. 5. Copyright©2016 JPCERT/CC All rights reserved. 目次 4 前半 – 脆弱性の調査 —脆弱性調査の経緯 —HTTP ヘッダインジェクションの概要 —脆弱なURLConnection クラス —Proof of Concept code —脆弱性の影響を受ける Android バージョン
  6. 6. Copyright©2016 JPCERT/CC All rights reserved. 脆弱性調査の経緯 5 Apache Cordova プラグイン cordova-plugin-file-transfer における HTTP ヘッダインジェクションの脆弱性 —https://jvn.jp/jp/JVN21612597/ 上記の Apache Cordova プラグインの脆弱性報告者であ る西村 宗晃 氏より、脆弱性の根本原因は Apache Cordova プラグインではなく、Android Platform の Java 標準API の URLConnection クラスにあるとの追加報告 を受けた
  7. 7. Copyright©2016 JPCERT/CC All rights reserved. JPCERT/CC の調査と調整 6 西村氏からの脆弱性報告をもとに Android Platform の URLConnection クラスの 脆弱性を調査した Android Security Team とアドバイザリ公開に向けた調整 を実施した (JVNVU#99757346) —https://jvn.jp/vu/JVNVU99757346/index.html Android Security Team から将来の Android バージョンで の修正が明言された —既存 Android バージョンへの対応は言及なし —Android Security Team からの返信内容 Hi, I discussed this with our engineering team and the fix in AOSP is here: https://android-review.googlesource.com/#/c/171350/1 This will be part of a future release (most likely Android 7) and not part of Android 6 or below.
  8. 8. Copyright©2016 JPCERT/CC All rights reserved. 目次 7 前半 – 脆弱性の調査 —脆弱性調査の経緯 —HTTP ヘッダインジェクションの概要 —脆弱な URLConnection クラス —Proof of Concept code —脆弱性の影響を受ける Android のバージョン
  9. 9. Copyright©2016 JPCERT/CC All rights reserved. HTTP ヘッダインジェクションの概要 8 安全なウェブサイトの作り方 —http://www.ipa.go.jp/files/000017316.pdf  ウェブアプリケーションの中には、リクエストに対して出力する HTTP レスポンスヘッダのフィールド値を、外部から渡されるパラ メータの値等を利用して動的に生成するものがあります。  たとえば、HTTP リダイレクションの実装として、パラメータから 取得したジャンプ先の URL 情報を、Location ヘッダのフィールド 値に使用する場合や、掲示板等において入力された名前等を Set- Cookie ヘッダのフィールド値に使用する場合等が挙げられます。  このようなウェブアプリケーションで、HTTP レスポンスヘッダの 出力処理に問題がある場合、攻撃者は、レスポンス内容に任意の ヘッダフィールドを追加したり、任意のボディを作成したり、複数 のレスポンスを作り出すような攻撃を仕掛ける場合があります。  このような問題を「HTTP ヘッダ・インジェクションの脆弱性」と 呼び、この問題を悪用した攻撃手法は「HTTP ヘッダ・インジェク ション攻撃」と呼びます。
  10. 10. Copyright©2016 JPCERT/CC All rights reserved. HTTP ヘッダインジェクションの概要 9
  11. 11. Copyright©2016 JPCERT/CC All rights reserved. 目次 10 前半 – 脆弱性の調査 —脆弱性調査の経緯 —HTTP ヘッダインジェクションの概要 —脆弱な URLConnection クラス —Proof of Concept code —脆弱性の影響を受ける Android バージョン
  12. 12. Copyright©2016 JPCERT/CC All rights reserved. 脆弱な URLConnection クラス 11 脆弱な URLConnection クラス —http://developer.android.com/intl/ja/reference/java/net/URL Connection.html —A connection to a URL for reading or writing. For HTTP connections, see HttpURLConnection for documentation of HTTP-specific features.
  13. 13. Copyright©2016 JPCERT/CC All rights reserved. 脆弱な URLConnection クラス 12 脆弱性なメソッド —public void addRequestProperty (String field, String newValue)  Adds the given property to the request header. Existing properties with the same name will not be overwritten by this method. —public void setRequestProperty (String field, String newValue)  Sets the value of the specified request header field. The value will only be used by the current URLConnection instance. This method can only be called before the connection is established. HTTP ヘッダを設定するクラスのメソッド で引数の入力値検査を行っていないため、 改行コードを注入可能な脆弱性を持つ ※ 以下、addRequestProperty() は冗長なので記載を省く
  14. 14. Copyright©2016 JPCERT/CC All rights reserved. 目次 13 前半 – 脆弱性の調査 —脆弱性調査の経緯 —HTTP ヘッダインジェクションの概要 —脆弱な URLConnection クラス —Proof of Concept code —脆弱性の影響を受ける Android バージョン
  15. 15. Copyright©2016 JPCERT/CC All rights reserved. Proof of Concept code 14 ・改行コード による意図しない改行の挿入 この例では開発者が意図しない改行コードと Cookie の値を設定するコードを挿入 ・入力値検査を行っていない脆弱なクラスメソッド 入力値検査を行っていないため、意図しない Cookie を設定されてしまう
  16. 16. Copyright©2016 JPCERT/CC All rights reserved. 目次 15 前半 – 脆弱性の調査 —脆弱性調査の経緯 —HTTP ヘッダインジェクションの概要 —脆弱な URLConnection クラス —Proof of Concept code —脆弱性の影響を受ける Android バージョン
  17. 17. Copyright©2016 JPCERT/CC All rights reserved. 脆弱性の影響を受ける Android バージョン 16 影響範囲の調査 —Android 2.3.3 ~ 6.0 (エミュレータ) で検証コードの動作確認を 実施した (実行結果のスクリーンショットは次々ページ) —Obsolete 扱いの Android バージョンは対象外 バージョン ニックネーム API Level 2.3.3 Gingerbread 10 4.0.3 IceCreamSandwich 15 4.3.1 Jelly Bean 18 4.4.2 KitKat 19 5.1.1 Lollipop 22 6.0 Marshmallow 23
  18. 18. Copyright©2016 JPCERT/CC All rights reserved. 影響範囲調査の結果 17 6.0 まで全ての Android バージョンが影響を受ける —脆弱性報告のとおり Android Platform の URLConnection クラス に HTTP ヘッダインジェクションの脆弱性がある OpenJDK や OracleJDK では改行コードを挿入しようと すると例外がスローされ、脆弱性は存在しなかった —OracleJDK バージョン : “1.8.0_72” で確認
  19. 19. Copyright©2016 JPCERT/CC All rights reserved. 検証コード実行結果のスクリーンショット 18 Android 2.3.3 Gingerbread (API Level 10) Android 4.0.3 IceCreamSandwich (API Level 15)
  20. 20. Copyright©2016 JPCERT/CC All rights reserved. 検証コード実行結果のスクリーンショット 19 Android 4.3.1 Jelly Bean (API Level 18) Android 4.4.2 KitKat (API Level 19)
  21. 21. Copyright©2016 JPCERT/CC All rights reserved. 検証コード実行結果のスクリーンショット 20 Android 5.1.1 Lollipop (API Level 22) Android 6.0 Marshmallow (API Level 23)
  22. 22. Copyright©2016 JPCERT/CC All rights reserved. 後半 - ソースコードの詳細調査 21
  23. 23. Copyright©2016 JPCERT/CC All rights reserved. 前半 – 脆弱性の調査を踏まえ Android Platform の URLConnection クラスにどのよう な問題があり、どのように修正されたのかを確認した 22
  24. 24. Copyright©2016 JPCERT/CC All rights reserved. 目次 23 後半 – ソースコードの詳細調査 —Android Platform が提供している Java 実行環境 —正しい URLConnection クラスの実装 (OpenJDK) —脆弱な URLConnection クラスの実装 (Android 6.0) —修正された URLConnection クラスの実装 (master ブランチ) まとめ 参考情報 謝辞
  25. 25. Copyright©2016 JPCERT/CC All rights reserved. Android Platform が提供している Java 実行環境 24 中身は他のオープンソースから移植や独自実装が混在 URLConnection クラスは Android バージョンにより実装 が異なる (詳細は次ページ) Oracle Java Google Android Java OpenJDK (リファレンス) Java Apache Harmony etc JAVA ほぼ同一実装 オープンソースから移植 or 独自実装 Apache Harmony etc Java
  26. 26. Copyright©2016 JPCERT/CC All rights reserved. Android Platform の URLConnection クラス 25 Android バージョンによる実装の違い Android 2.2 ~ Apache Harmony Android 4.4.2~ OkHttp Android 4.0.3 ~ 独自実装? 標準 API 準拠の抽象クラス
  27. 27. Copyright©2016 JPCERT/CC All rights reserved. Android Platform の URLConnection クラス 26 Android バージョンによる実装の違い Android 2.2 ~ Apache Harmony Android 4.4.2~ OkHttp Android 4.0.3 ~ 独自実装? 標準 API 準拠の抽象クラス デザインパターン? Strategy? いえいえ、ベタっと実装してますちょっと読みづらい 全ての Android バージョンの URLConnection クラスの実装で脆弱性が 存在している Apache Harmony も OkHttp も同じ脆弱性を持っていたんですね これらを踏まえて URLConnection クラス の実装を確認してみましょう
  28. 28. Copyright©2016 JPCERT/CC All rights reserved. 目次 27 後半 – ソースコードの詳細調査 —Android Platform が提供している Java 実行環境 —正しい URLConnection クラスの実装 (OpenJDK) —脆弱な URLConnection クラスの実装 (Android 6.0) —修正された URLConnection クラスの実装 (master ブランチ) まとめ 参考情報 謝辞
  29. 29. Copyright©2016 JPCERT/CC All rights reserved. 正しい URLConnection の実装 (OpenJDK) 28 脆弱性を持つ Android Platform の URLConnection クラ スを確認する前に、脆弱性のない Java のリファレンス 実装である OpenJDK の正しい実装を確認する —URLConnection クラスと関連クラス図 —HTTP ヘッダを設定する処理のシーケンス図 —HTTP ヘッダ設定時に実施される入力値検査 —RFC との整合性
  30. 30. Copyright©2016 JPCERT/CC All rights reserved. URLConnection クラスと関連クラス図 29
  31. 31. Copyright©2016 JPCERT/CC All rights reserved. URLConnection クラスと関連クラス図 (抽象クラス) 30 アプリケーションの 実装者が扱う抽象クラス (Java 標準 API 準拠)
  32. 32. Copyright©2016 JPCERT/CC All rights reserved. URLConnection クラスと関連クラス図 (実装クラス) 31 Java 標準 API の URLConnection クラスを 継承し setRequestProperty() を実装している HttpURLConnection クラス HTTP ヘッダのキーと 値を保持するクラス Sun のパッケージって残ってたんですね
  33. 33. Copyright©2016 JPCERT/CC All rights reserved. HTTP ヘッダを設定する処理のシーケンス図 32 HttpURLConnection.checkMessageHeader() で改行 コードの入力値検査を行っている
  34. 34. Copyright©2016 JPCERT/CC All rights reserved. HTTP ヘッダ設定時に実施される入力値検査 33 改行コード LF (‘n’) の後が スペースまたは水平タブなら OK 条件を満たさなければ IllegalArgumentException を スローする実装になっている
  35. 35. Copyright©2016 JPCERT/CC All rights reserved. RFC との整合性 34 改行コード LF (‘n’) の後がスペースまたは水平タブなら OK — RFC2616 で定義されている内容と一致する  RFC 2616 とは
  36. 36. Copyright©2016 JPCERT/CC All rights reserved. RFC 2616 (2.2 Basic Rule) 35 RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1 June 1999 —https://www.ietf.org/rfc/rfc2616.txt —1999 年に RFC で公開された HTTP 1.1 の仕様 —改行コードの扱いは 2.2 Basic Rule で定義 改行コード後のスペースと水平タブを許可 いわゆる「継続行」を許可している
  37. 37. Copyright©2016 JPCERT/CC All rights reserved. RFC 2616 から RFC 723x へ 36 RCF 2616 Obsoleted by RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234 and RFC7235 2014年に HTTP に関する RFC が更新 —RFC7230 HTTP/1.1 Message Syntax and Routing —RFC7231 HTTP/1.1 Semantics and Content —RFC7232 HTTP/1.1 Conditional Requests —RFC7233 HTTP/1.1 Range Requests —RFC7234 HTTP/1.1 Caching —RFC7235 HTTP/1.1 Authentication  改行コードや LWS の扱いはどう変わったか?
  38. 38. Copyright©2016 JPCERT/CC All rights reserved. RFC 7230 (3.2 Header Fields) 37 RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014 —https://www.ietf.org/rfc/rfc7230.txt —3.2 Header Fields 改行後のスペースと水平タブも禁止に つまり継続行は廃止された
  39. 39. Copyright©2016 JPCERT/CC All rights reserved. RFC 7230 (3.2.4 Field Parsing) 38 RFC 7230 HTTP/1.1 Message Syntax and Routing June 2014 —https://www.ietf.org/rfc/rfc7230.txt —3.2.4 Field Parsing 全面的に継続行の廃止ではなく、例外として message / http media type では有効となっている
  40. 40. Copyright©2016 JPCERT/CC All rights reserved. OpenJDK の URLConnection クラスの実装まとめ 39 RFC 2616 に準拠した実装になっている 改行コード後にスペースか水平タブ以外の値を設定する と例外 (IllegalArgumentException) をスローする  Android Platform の URLConnection クラスではどうなっ ているのか?
  41. 41. Copyright©2016 JPCERT/CC All rights reserved. 目次 40 後半 – ソースコードの詳細調査 —Android Platform が提供している Java 実行環境 —正しい URLConnection クラスの実装 (OpenJDK) —脆弱な URLConnection クラスの実装 (Android 6.0) —修正された URLConnection クラスの実装 (master ブランチ) まとめ 参考情報 謝辞
  42. 42. Copyright©2016 JPCERT/CC All rights reserved. 脆弱な URLConnection クラスの実装 41 Android Platform の 脆弱な URLConnection クラスの実 装を確認する 本稿では Android 6.0 を対象に実装の確認を行う —Android バージョンによる実装の違い —URLConnection クラスと関連クラス図 —HTTP ヘッダを設定する処理のシーケンス図 —HTTP ヘッダ設定時に実施される入力値検査 —RFC との整合性
  43. 43. Copyright©2016 JPCERT/CC All rights reserved. Android バージョンによる実装の違い 42 Android 6.0 では OkHttp のソースコードを使用している Android 2.2 ~ Apache Harmony Android 4.4.2~ OkHttp Android 4.0.3 ~ 独自実装? 標準 API 準拠の抽象クラス Android 6.0 では OkHttp のソースコードが使用されている しかし取り込んだバージョンの OkHttpに HTTP ヘッダイン ジェクションの脆弱性が存在した
  44. 44. Copyright©2016 JPCERT/CC All rights reserved. OkHttp とは 43 OkHttp —http://square.github.io/okhttp/ —Apache License, Version 2.0 の HTTP & HTTP/2 クライア ントライブラリ —Android Platform の URLConnection の実装に OkHttp (version 2.5 より前) のソースコードが取り込まれている  Andorid 6.0 の URLConnection クラスの実装 (OkHttp か ら取り込んだ実装)を示す
  45. 45. Copyright©2016 JPCERT/CC All rights reserved. URLConnection クラスと関連クラス図 44
  46. 46. Copyright©2016 JPCERT/CC All rights reserved. URLConnection クラスと関連クラス図 (抽象クラス) 45 アプリケーションの 実装者が扱う抽象クラス (Java 標準 API 準拠)
  47. 47. Copyright©2016 JPCERT/CC All rights reserved. URLConnection クラスと関連クラス図 (実装クラス) 46 HTTP ヘッダのキーと 値を保持するクラス Java 標準 API の URLConnection クラスを 継承し setRequestProperty() を実装している HttpURLConnectionImp クラス
  48. 48. Copyright©2016 JPCERT/CC All rights reserved. HTTP ヘッダを設定する処理のシーケンス図 47 Android Platform では HTTP ヘッダの設定に関わる全て のクラスとメソッドで入力値検査をしていないのか? これらのクラスとメソッドで入力値検査をしているか確認した
  49. 49. Copyright©2016 JPCERT/CC All rights reserved. HTTP ヘッダ設定時に実施される入力値検査 48 ] 引数に対する Null Check はされているが・・・
  50. 50. Copyright©2016 JPCERT/CC All rights reserved. HTTP ヘッダ設定時に実施される入力値検査 49 内部メソッドを呼び出してるだけ
  51. 51. Copyright©2016 JPCERT/CC All rights reserved. HTTP ヘッダ設定時に実施される入力値検査 50 ヘッダフィールド名が既に存在していたら上書き 配列の偶数要素がフィールド名で、奇数要素が値・・・
  52. 52. Copyright©2016 JPCERT/CC All rights reserved. HTTP ヘッダ設定時に実施される入力値検査 51 2度目の Null Check をしているが、改行コードが含まれるか 入力値検査は行われていない
  53. 53. Copyright©2016 JPCERT/CC All rights reserved. RFC との整合性 52 Android Platform の URLConnection クラス —RFC 2616 に準拠した入力値検査を実施していない —また、RFC 7230 にも準拠していない —OkHttp は version 2.5 で RFC 7230 に準拠した修正を 行いリリース済 Android Platform も OkHttp の修正を master ブランチに取り 込んだ https://android.googlesource.com/platform/external/okhttp/+/7 1b9f47b26fb57ac3e436a19519c6e3ec70e86eb  Android Platform の master ブランチでは、どのように修 正されたのか?
  54. 54. Copyright©2016 JPCERT/CC All rights reserved. 目次 53 後半 – ソースコードの詳細調査 —Android Platform が提供している Java 実行環境 —正しい URLConnection クラスの実装 (OpenJDK) —脆弱な URLConnection クラスの実装 (Android 6.0) —修正された URLConnection クラスの実装 (master ブランチ) まとめ 参考情報 謝辞
  55. 55. Copyright©2016 JPCERT/CC All rights reserved. 修正された URLConnection クラスの実装 54 master ブランチに取り込まれた URLConnection クラス の実装を確認する —URLConnection クラスと関連クラス図 —HTTP ヘッダを設定する処理のシーケンス図 —HTTP ヘッダ設定時に実施される入力値検査 —RFC との整合性
  56. 56. Copyright©2016 JPCERT/CC All rights reserved. URLConnection クラスと関連クラス図 55 checkNameAndValue() が追加された
  57. 57. Copyright©2016 JPCERT/CC All rights reserved. HTTP ヘッダを設定する処理のシーケンス図 56 checkNameAndValue() で入力値検査を実施
  58. 58. Copyright©2016 JPCERT/CC All rights reserved. HTTP ヘッダ設定時に実施される入力値検査 57 HTTP ヘッダフィルード名、値ともにアスキーコードの 0x1f 以下、及び 0x7f 以上が含まれていたら IllegalArgumentException をスローする
  59. 59. Copyright©2016 JPCERT/CC All rights reserved. RFC との整合性 58 改行コードを含む制御文字が全て禁止され RFC 7230 に準拠した修 正が行われた — IT 用語辞典 e-Words より ASCII 文字コード表を引用 — http://e-words.jp/p/r-ascii.html 修正で禁止された制御文字
  60. 60. Copyright©2016 JPCERT/CC All rights reserved. 目次 59 後半 – ソースコードの詳細調査 —Android Platform が提供している Java 実行環境 —正しい URLConnection クラスの実装 (OpenJDK) —脆弱な URLConnection クラスの実装 (Android 6.0) —修正された URLConnection クラスの実装 (master ブランチ) まとめ 参考情報 謝辞
  61. 61. Copyright©2016 JPCERT/CC All rights reserved. まとめ 60 誰が本脆弱性の影響を受けるか —HTTP ヘッダフィールドを外部入力として受け取る Android アプリ 対策 1. master ブランチの checkNameAndValue() を Android アプリに移植して、HTTP ヘッダの入力値検査を行うよ うに修正する (推奨) 2. 脆弱性が修正されている OkHttp version 2.5 以降を使い アプリケーションを実装し直す (大変) 全ての開発者が注意すべきこと —セキュアコーディングの原則として、信頼境界の外から受 け取るパラメータを信用せず入力値検査を行う
  62. 62. Copyright©2016 JPCERT/CC All rights reserved. 目次 61 後半 – ソースコードの詳細調査 —Android Platform が提供している Java 実行環境 —正しい URLConnection クラスの実装 (OpenJDK) —脆弱な URLConnection クラスの実装 (Android 6.0) —修正された URLConnection クラスの実装 (master ブランチ) まとめ 参考情報 謝辞
  63. 63. Copyright©2016 JPCERT/CC All rights reserved. 参考情報 62 本稿では Android Platform の HTTP ヘッダインジェクションについて取り 上げたが、他言語・フレームワークでも同じ脆弱性が存在する可能性があ る PHP の HTTP ヘッダインジェクションについて、2015年に話題になった ことがあるので参考までに紹介する — 2015年 7月 寺田 健 氏 (三井物産セキュアディレクション株式会社)  LWSとHTTPヘッダインジェクション  https://www.mbsd.jp/blog/20150730.html  「新RFCにより一転してPHP側の旗色が悪くなった訳ですが、PHPは比較的早くこの状 況に対処しました。具体的には、2015年2月のリリース(PHP 5.4.38, 5.5.22, 5.6.6)で、 LWSを含むヘッダをエラーとして出力できないようにする対処を行いました」 — 2015年 12月 徳丸 浩 氏 (HASHコンサルティング株式会社)  PHPにおけるHTTPヘッダインジェクションはまだしぶとく生き残る  http://blog.tokumaru.org/2015/12/phphttp.html  「HTTPヘッダインジェクション脆弱性対策については、一応はPHP側の責任と考えた うえで、アプリケーション側でもヘッダ文字列のバリデーション等で対策をしておくこ とを推奨します」
  64. 64. Copyright©2016 JPCERT/CC All rights reserved. 目次 63 後半 – ソースコードの詳細調査 —Android Platform が提供している Java 実行環境 —正しい URLConnection クラスの実装 (OpenJDK) —脆弱な URLConnection クラスの実装 (Android 6.0) —修正された URLConnection クラスの実装 (master ブランチ) まとめ 参考情報 謝辞
  65. 65. Copyright©2016 JPCERT/CC All rights reserved. 謝辞 64 JVN#21612597 で公開された Apache Cordova に関する脆弱性の 報告者である、ソニーデジタルネットワークアプリケーションズ株 式会社の西村宗晃氏の追加調査により本脆弱性が存在する事が判明 しました。本脆弱性情報を JPCERT/CC に報告いただいた西村氏に 御礼申し上げます。

×