PHP 5.6.x < 5.6.12 の複数の脆弱性

high Nessus プラグイン ID 85300

概要

リモート 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 または以降にアップグレードしてください。

参考資料

http://php.net/ChangeLog-5.php#5.6.12

https://seclists.org/fulldisclosure/2015/Aug/17

https://seclists.org/fulldisclosure/2015/Aug/18

https://seclists.org/fulldisclosure/2015/Aug/19

https://bugs.php.net/bug.php?id=69793

https://bugs.php.net/bug.php?id=70121

プラグインの詳細

深刻度: High

ID: 85300

ファイル名: php_5_6_12.nasl

バージョン: 1.14

タイプ: remote

ファミリー: CGI abuses

公開日: 2015/8/11

更新日: 2022/4/11

設定: 徹底したチェックを有効にする

サポートされているセンサー: Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 4.4

CVSS v2

リスクファクター: High

Base Score: 7.5

Temporal Score: 5.5

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

CVSS スコアのソース: CVE-2015-6831

CVSS v3

リスクファクター: High

Base Score: 7.3

Temporal Score: 6.4

ベクトル: 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

エクスプロイトの容易さ: No known exploits are available

パッチ公開日: 2015/8/6

脆弱性公開日: 2014/1/2

参照情報

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