PHP 7.0.x < 7.0.9 の複数の脆弱性 (httpoxy)

critical Web App Scanning プラグイン ID 98855

概要

PHP 7.0.x < 7.0.9 の複数の脆弱性 (httpoxy)

説明

バナーによると、リモートのWebサーバーで実行されているPHPのバージョンは7.0.9より前の7.0.xです。したがって、以下の複数の脆弱性による影響を受けます。

- RFC 3875 セクション 4.1.18 にしたがって名前空間の競合を適切に解決できないため、「httpoxy」として知られる中間者の脆弱性が存在します。HTTP_PROXY環境変数が、HTTPリクエストの「Proxy」ヘッダーの信頼できないユーザーデータに基づいて設定されます。HTTP_PROXY環境変数が、リモートプロキシサーバーを指定するために、一部のWebクライアントライブラリにより使用されます。認証されていないリモートの攻撃者がこれを悪用し、HTTP リクエストの細工された「Proxy」ヘッダーを通じて、アプリケーションの内部 HTTP トラフィックを任意のプロキシサーバーにリダイレクトする可能性があります。このプロキシサーバーは、観察または操作が行われる可能性があります。(CVE-2016-5385)

- エラー状態の処理が不適切なために、オーバーフロー状態が ext/bz2/bz2.c ファイルの php_bz2iop_read() 関数に存在します。認証されていないリモートの攻撃者がこれを悪用し、細工されたリクエストを通じて、任意のコードを実行する可能性があります。(CVE-2016-5399)

- ユーザー指定の入力が不適切に検証されているため、GD グラフィックライブラリ (libgd)に欠陥が存在します。これは特に gd_interpolation.c ファイルの gdImageScaleTwoPass() 関数に存在します。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態を引き起こす可能性があります。 (CVE-2016-6207)

- ユーザー指定の入力が不適切に検証されているため、Zend/zend_virtual_cwd.c ファイルの virtual_file_ex() 関数に整数オーバーフロー状態が存在します。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態または任意のコードの実行を引き起こす可能性があります。 (CVE-2016-6289)

- 「var_hash」破壊を処理する際に、use-after-free エラーが ext/session/session.c ファイルに存在します。認証されていないリモートの攻撃者がこれを悪用し、すでに解放されたメモリをデリファレンスして、任意のコードを実行する可能性があります。(CVE-2016-6290)

- ext/exif/exif.c ファイルの exif_process_IFD_in_MAKERNOTE() 関数に領域外読み取りエラーが存在します。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態を引き起こしたり、メモリコンテンツを漏洩する可能性があります。(CVE-2016-6291)

- ext/exif/exif.c ファイルの exif_process_user_comment() 関数に NULL ポインターデリファレンスの欠陥が存在します。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態を引き起こす可能性があります。 (CVE-2016-6292)

- ext/intl/locale/locale_methods.c ファイルの locale_accept_from_http() 関数に複数の領域外読み取りエラーが存在します。認証されていないリモートの攻撃者がこれらを悪用して、サービス拒否状態を引き起こしたり、メモリコンテンツを漏洩したりする可能性があります。(CVE-2016-6293、CVE-2016-6294)

- ユーザー指定の入力の逆シリアル化中にガベージコレクションを処理する際に、use-after-free エラーが ext/snmp/snmp.c ファイルに存在します。認証されていないリモートの攻撃者がこれを悪用し、すでに解放されたメモリをデリファレンスして、任意のコードを実行する可能性があります。(CVE-2016-6295)

- ユーザー指定入力の検証が不適切であるため、simplestring.c ファイルの simplestring_addn() 関数にヒープベースのバッファオーバーフローの状態が存在します。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態または任意のコードの実行を引き起こす可能性があります。 (CVE-2016-6296)

- zip ストリームを処理する際にユーザー指定入力の検証が不適切なために、ext/zip/zip_stream.c ファイルの php_stream_zip_opener() 関数に整数オーバーフロー状態が存在します。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態または任意のコードの実行を引き起こす可能性があります。 (CVE-2016-6297)

- 透明色を処理する際に、GD グラフィックライブラリ (libgd)に領域外読み取りのエラーが存在します。これは特に、gd_interpolation.c ファイルの gdImageScaleBilinearPalette() 関数に存在します。認証されていないリモートの攻撃者がこの脆弱性を悪用し、サービス拒否状態を引き起こしたり、メモリコンテンツを漏洩する可能性があります。

- ユーザー指定入力の検証が不適切であるため、ext/mcrypt/mcrypt.c ファイルの mdecrypt_generic() 関数にヒープベースのバッファオーバーフローの状態が存在します。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態または任意のコードの実行を引き起こす可能性があります。

- 文字列の長さを処理する際に、ファイル ext/curl/interface.c 内の curl_unescape() 関数に欠陥が存在します。認証されていないリモートの攻撃者が、これを悪用して、ヒープを破損させることで、サービス拒否状態を引き起こす可能性があります。

- ユーザー指定の入力を不適切に検証しているため、ファイル ext/mcrypt/mcrypt.c 内の mcrypt_generic() 関数に、ヒープベースのバッファオーバーフロー状態が存在します。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態または任意のコードの実行を引き起こす可能性があります。

- マイナスの透明色が不適切に処理されているため、gdImageColorTransparent() 関数の GD グラフィックライブラリ (libgd)に NULL 書き込みの欠陥が存在します。リモートの攻撃者がこれを悪用して、メモリコンテンツを漏洩させる可能性があります。

スキャナーはこれらの問題のテストを行っておらず、代わりにアプリケーションの自己報告されたバージョン番号にのみ依存しています。

ソリューション

PHP バージョン 7.0.9 以降にアップグレードしてください。

参考資料

http://php.net/ChangeLog-7.php#7.0.9

https://httpoxy.org

プラグインの詳細

深刻度: Critical

ID: 98855

タイプ: remote

ファミリー: Component Vulnerability

公開日: 2019/1/9

更新日: 2023/3/14

スキャン テンプレート: api, basic, full, pci, scan

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: High

基本値: 7.5

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS スコアのソース: CVE-2016-6290

CVSS v3

リスクファクター: Critical

基本値: 9.8

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CVSS スコアのソース: CVE-2016-6290

脆弱性情報

CPE: cpe:2.3:a:php:php:*:*:*:*:*:*:*:*

エクスプロイトが利用可能: true

エクスプロイトの容易さ: Exploits are available

パッチ公開日: 2016/7/19

脆弱性公開日: 2016/7/19

参照情報

CVE: CVE-2016-5385, CVE-2016-5399, CVE-2016-6207, CVE-2016-6289, CVE-2016-6290, CVE-2016-6291, CVE-2016-6292, CVE-2016-6293, CVE-2016-6294, CVE-2016-6295, CVE-2016-6296, CVE-2016-6297

BID: 91821, 92051, 92073, 92074, 92078, 92094, 92095, 92097, 92099, 92080, 92115, 92127

CWE: 119, 125, 190, 284, 416, 476, 601, 787

OWASP: 2010-A10, 2010-A8, 2013-A10, 2013-A7, 2013-A9, 2017-A5, 2017-A9, 2021-A1, 2021-A6

WASC: Buffer Overflow, Insufficient Authorization, Integer Overflows, URL Redirector Abuse

CAPEC: 10, 100, 123, 14, 19, 24, 42, 44, 441, 45, 46, 47, 478, 479, 502, 503, 536, 540, 546, 550, 551, 552, 556, 558, 562, 563, 564, 578, 8, 9, 92

DISA STIG: APSC-DV-000460, APSC-DV-002560, APSC-DV-002590, APSC-DV-002630

HIPAA: 164.306(a)(1), 164.306(a)(2), 164.312(a)(1), 164.312(a)(2)(i)

ISO: 27001-A.12.6.1, 27001-A.13.1.1, 27001-A.14.1.2, 27001-A.14.1.3, 27001-A.14.2.5, 27001-A.18.1.3, 27001-A.6.2.2, 27001-A.9.1.2, 27001-A.9.4.1, 27001-A.9.4.4, 27001-A.9.4.5

NIST: sp800_53-AC-3, sp800_53-CM-6b, sp800_53-SI-10, sp800_53-SI-16

OWASP API: 2019-API7, 2023-API8

OWASP ASVS: 4.0.2-1.4.2, 4.0.2-14.2.1, 4.0.2-5.1.5

PCI-DSS: 3.2-6.2, 3.2-6.3, 3.2-6.4, 3.2-6.5, 3.2-6.5.1, 3.2-6.5.2, 3.2-6.5.8, 3.2-6.6, 3.2-6.7