PHP 5.5.x < 5.5.37 の複数の脆弱性

critical Nessus プラグイン ID 91897

概要

リモート Web サーバー上で実行している PHP のバージョンは、以下の複数の脆弱性の影響を受けます:

説明

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

- ファイル gd.c 内の gdImageFillToBorder() 関数の GD グラフィックライブラリに、過剰に大きい負の座標を持つ細工された画像を処理するときのサービス拒否の脆弱性が存在します。認証されていないリモートの攻撃者がこれを悪用して、細工された画像を通じて、ライブラリにリンクしているプロセスをクラッシュさせる可能性があります。
(CVE-2015-8874)

- ユーザー指定入力の検証が不適切なために、
整数オーバーフロー状態がファイル ext/gd/libgd/gd_gd2.c の中の _gd2GetHeader() 関数に存在します。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態を引き起こすことや、任意のコードを実行することができます。(CVE-2016-5766)

- ユーザー指定入力の検証が不適切なために、整数オーバーフロー状態がファイル ext/gd/libgd/gd.c の中の gdImagePaletteToTrueColor() 関数に存在します。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態を引き起こすことや、任意のコードを実行することができます。(CVE-2016-5767)

- コールバック実行失敗を処理する際に、
ファイル ext/mbstring/php_mbregex.c の中の _php_mb_regex_ereg_replace_exec() 関数に二重解放のエラーが存在します。認証されていないリモート攻撃者が、この脆弱性を悪用して、任意のコードを実行する可能性があります。
(CVE-2016-5768)

- データ値を処理する際のユーザー指定入力の検証が不適切なために、ファイル ext/mcrypt/mcrypt.c に整数オーバーフロー状態が存在します。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態を引き起こすことや、任意のコードを実行することができます。(CVE-2016-5769)

- int/size_t の型の取り違え(Type Confusion)エラーにより誘発されて、ファイル ext/spl/spl_directory.c 内に整数オーバーフロー状態が存在し、認証されていないリモートの攻撃者が詳細不明な影響を及ぼすことが可能です。
(CVE-2016-5770)

- ファイル ext/spl/spl_array.c の中のガベージコレクションアルゴリズムに use-after-free エラーが存在します。認証されていないリモートの攻撃者がこれを悪用し、すでに解放されたメモリを逆参照して、任意のコードを実行する可能性があります。(CVE-2016-5771)

特別に細工された XML コンテンツを処理する際に、ファイル ext/wddx/wddx.c 内の php_wddx_process_data() 関数に二重解放のエラーが存在します。認証されていないリモート攻撃者が、この脆弱性を悪用して、任意のコードを実行する可能性があります。
(CVE-2016-5772)

- ファイル ext/zip/php_zip.c の中のガベージコレクションアルゴリズムに use-after-free エラーが存在します。認証されていないリモートの攻撃者がこれを悪用し、すでに解放されたメモリを逆参照して、任意のコードを実行する可能性があります。(CVE-2016-5773)

- ユーザー指定入力の検証が不適切なために、ファイル ext/standard/php_smart_str 内の json_decode() および json_utf8_to_utf16() 関数に整数オーバーフロー状態が存在します。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態を引き起こすことや、任意のコードを実行することができます。
(VulnDB 140378)

- ファイル ext/gd/libgd/gd_topal.c 内の pass2_no_dither() 関数に領域外読み取りエラーが存在し、認証されていないリモートの攻撃者がサービス拒否状態を引き起こしたり、メモリの内容を漏洩させることが可能です。(VulnDB 140379)

- ユーザー指定入力の検証が不適切なために、文字列長を扱う際に、ファイル ext/standard/string.c 内に整数オーバーフロー状態が存在します。認証されていないリモートの攻撃者はこれを悪用して、詳細不明な影響を与える可能性があります。(VulnDB 140380)

ファイル ext/gd/libgd/gd_interpolation.c の中の
_gdScaleVert() 関数に NULL ポインターデリファレンスの欠陥が存在し、_gdContributionsCalc の戻り値を処理する際に引き起こされます。認証されていないリモートの攻撃者がこれを悪用して、サービス拒否状態を引き起こす可能性があります。(VulnDB 140382)

- ユーザー指定入力の不適切な検証により、new_length 値を処理する際に、ext/standard/string.c ファイル内の nl2br() 関数に整数オーバーフロー状態が存在します。認証されていないリモートの攻撃者はこれを悪用して、詳細不明な影響を与える可能性があります。
(VulnDB 140385)

- ユーザー指定入力の検証が不適切なために、文字列値を扱う際に、ファイル ext/standard/string.c 内の複数の関数に整数オーバーフロー状態が存在します。認証されていないリモートの攻撃者はこれを悪用して、詳細不明な影響を与える可能性があります。
(VulnDB 140386)

Nessus はこれらの問題に対してテストされていませんが、その代わりにアプリケーションの自己報告されたバージョン番号のみに依存していることに、注意してください。

ソリューション

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

参考資料

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

プラグインの詳細

深刻度: Critical

ID: 91897

ファイル名: php_5_5_37.nasl

バージョン: 1.16

タイプ: remote

ファミリー: CGI abuses

公開日: 2016/7/1

更新日: 2022/4/11

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

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

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-2016-5768

CVSS v3

リスクファクター: Critical

Base Score: 9.8

Temporal Score: 8.5

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

現状ベクトル: CVSS:3.0/E:U/RL:O/RC:C

脆弱性情報

CPE: cpe:/a:php:php

必要な KB アイテム: www/PHP

エクスプロイトの容易さ: No exploit is required

パッチ公開日: 2016/6/23

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

参照情報

CVE: CVE-2015-8874, CVE-2016-5766, CVE-2016-5767, CVE-2016-5768, CVE-2016-5769, CVE-2016-5770, CVE-2016-5771, CVE-2016-5772, CVE-2016-5773

BID: 90714, 91393, 91395, 91396, 91397, 91398, 91399, 91401, 91403