概要
リモート Web サーバーは、複数の脆弱性の影響を受ける PHP バージョンを使用しています。
説明
バナーによると、リモート Web サーバーで実行している PHP のバージョンは、5.6.12 より前の 5.6.x です。したがって、以下の複数の脆弱性による影響を受けます:
-unserialize() 関数への入力のサニタイズが不適切であるため、ファイル spl_dllist.c にuse-after-free エラーが存在します。攻撃者が、特別に細工された SplDoublyLinkedList オブジェクトを使用して、これを悪用し、解放したメモリを逆参照して、任意のコードを実行する可能性があります。
(OSVDB 125849)
-unserialize() 関数への入力のサニタイズが不適切であるため、ファイル spl_observer.c due にuse-after-free エラーが存在します。攻撃者が、特別に細工された SplObjectStorage オブジェクトを使用して、これを悪用し、解放したメモリを逆参照して、任意のコードを実行する可能性があります。
(OSVDB 125850)
-unserialize() 関数への入力のサニタイズが不適切であるため、ファイル spl_array.c にuse-after-free エラーが存在します。攻撃者が、特別に細工された SplArrayObject オブジェクトを使用して、これを悪用し、解放したメモリを逆参照して、任意のコードを実行する可能性があります。
(OSVDB 125851)
- メソッドの再帰呼び出し中、unserialize() 関数の使用が不適切であるため、zend_exceptions.c ファイルに欠陥が存在します。リモートの攻撃者がこれを悪用し、 PHP を使用するアプリケーションをクラッシュさせる可能性があります。(OSVDB 125852)
- unserialize() 関数および __toString() 関数によるタイプチェックが不十分であるため、zend_exceptions.c ファイルに欠陥が存在します。リモートの攻撃者がこれを悪用して、 NULL ポインターデリファレンスや予期せぬメソッドの実行を引き起こしたり、これによって PHP を使用するアプリケーションをクラッシュさせたりする可能性があります。(OSVDB 125853)
- ユーザー提供の入力のサニタイズが不十分であるため、phar_object.c ファイルにパストラバーサルの欠陥が存在します。攻撃者がこれを悪用し、任意のファイルに書き込む可能性があります。
(OSVDB 125854)
- zend_hash_get_current_key または「Z*」の呼び出しを処理する際に、php_http.c ファイルの _call() に複数の型の取り違え(Type Confusion)の欠陥が存在します。攻撃者がこれを悪用し、メモリの内容を漏洩させたり、 PHP を使用するアプリケーションをクラッシュさせたりする可能性があります。(OSVDB 125855)
- unserialize() 関数に対する入力のサニタイズが不適切であるため、spl_array.c ファイルにダングリングポインターエラーが存在します。攻撃者が、特別に細工された SplDoublyLinkedList オブジェクトを使用して、これを悪用し、割り当て解除されたポインターのコントロールを取得し、任意のコードを実行する可能性があります。(OSVDB 125856)
- imagefilltoborder() 関数による大きな負の座標がある画像の処理が不適切なために、gd.c ファイルに欠陥が存在します。攻撃者がこれを悪用して、スタックオーバーフローを引き起こし、PHP を使用するアプリケーションをクラッシュさせる可能性があります。(OSVDB 125857)
- odbc_fetch_array() 関数が NVARCHAR(MAX)として定義された列を処理する際、php_odbc.c ファイルに欠陥が存在します。攻撃者がこれを悪用して、PHP を使用するアプリケーションをクラッシュさせる可能性があります。(OSVDB 125858)
- openssl.c ファイルの openssl_random_pseudo_bytes() 関数が十分な乱数を生成しません。
これによって、攻撃者が簡単に結果を予測でき、そのために、さらに攻撃が行われる可能性があります。(OSVDB 125859)
- ユーザー指定入力の検証が不適切なために、spl_observer.c の unserialize() 関数に use-after-free エラーが存在します。リモートの攻撃者がこれを悪用してすでに解放されたメモリを逆参照し、これにより、任意のコードが実行される可能性があります。
(OSVDB 126951)
- ヘッダーフィールドを通じて渡された入力の検証が不適切であるため、soap.c の serialize_function_call() 関数に型の取り違え(Type Confusion)の欠陥が存在します。リモートの攻撃者がこれを悪用し、任意のコードを実行する恐れがあります。(OSVDB 126952)
- spl_dllist.c の unserialize() 関数に、ユーザー指定入力の逆シリアル化の際に発生する use-after-free エラーが存在します。リモートの攻撃者がこれを悪用してすでに解放されたメモリを逆参照し、これにより、任意のコードが実行される可能性があります。(OSVDB 126954)
- ユーザー指定入力の検証が不適切なために、gmp.c の gmp_unserialize() 関数に use-after-free エラーが存在します。リモートの攻撃者がこれを悪用してすでに解放されたメモリを逆参照し、これにより、任意のコードが実行される可能性があります。
(OSVDB 126960)
- 配列の比較時に発生する zend_hash.c の zend_hash_compare() 関数に、整数切り捨ての欠陥が存在します。リモートの攻撃者がこれを悪用して、比較中に配列を不適切に一致させる可能性があります。(OSVDB 127367)
Nessus はこれらの問題に対してテストされていませんが、その代わりにアプリケーションの自己報告されたバージョン番号のみに依存していることに、注意してください。
ソリューション
PHP バージョン 5.6.12 または以降にアップグレードしてください。
プラグインの詳細
設定: 徹底したチェックを有効にする
サポートされているセンサー: Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P
ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
現状ベクトル: CVSS:3.0/E:U/RL:O/RC:C
脆弱性情報
CPE: cpe:/a:php:php
必要な KB アイテム: www/PHP
除外される KB アイテム: Settings/disable_cgi_scanning
エクスプロイトの容易さ: No known exploits are available
参照情報
CVE: CVE-2015-6831, CVE-2015-6832, CVE-2015-6833, CVE-2015-8867, CVE-2015-8874, CVE-2015-8879
BID: 76735, 76737, 76739, 87481, 90714, 90842