PHP 7.0.x < 7.0.15の複数の脆弱性

critical Nessus プラグイン ID 96800

概要

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

説明

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

- DateInterval入力の使用時にトリガーされるunserialize()関数のメモリ解放後使用(Use After Free)エラーにより、リモートでコードが実行される脆弱性があります。認証されていないリモートの攻撃者がこれを悪用し、すでに解放されたメモリをデリファレンスして、サービス拒否状態または任意のコードの実行を引き起こす可能性があります。
(CVE-2015-2787)

- シリアル化されていないオブジェクトのプロパティを処理するとトリガーされるメモリ解放後使用(Use After Free)エラーがあります。認証されていないリモートの攻撃者がこれを悪用し、特別に細工したリクエストで任意のコードを実行する可能性があります。
(CVE-2016-7479)

- 整数オーバーフロー状態:
シリアル化されないオブジェクトの検証が不適切なため、zend_hash.cの_zend_hash_init()関数に整数オーバーフロー状態があります。認証されていないリモート攻撃者がこの脆弱性を悪用し、任意のコードを実行する可能性があります。(CVE-2017-5340)

- TIFFとJPEGのイメージタグを処理するときにトリガーされるexif.cのexif_convert_any_to_int()関数に浮動小数点の例外の欠陥があります。認証されていないリモートの攻撃者がこれを悪用してクラッシュを起こさせ、サービス拒否状態を引き起こす可能性があります。(CVE-2016-10158)

- pharアーカイブを処理するときの不適切な検証のため、phar.cのphar_parse_pharfile()関数に整数オーバーフロー状態があります。認証されていないリモートの攻撃者がこれを悪用してクラッシュを起こさせ、サービス拒否状態を引き起こす可能性があります。(CVE-2016-10159)

- pharアーカイブが不適切に解析されるため、phar.cのphar_parse_pharfile()関数にoff-by-oneオーバーフロー状態があります。認証されていないリモートの攻撃者がこれを悪用してクラッシュを起こさせ、サービス拒否状態を引き起こす可能性があります。(CVE-2016-10160)

- シリアル化されないデータの検証が不適切なため、var_unserializer.cのfinish_nested_data()関数に領域外読み取りエラーがあります。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態や、メモリコンテンツの漏えいの原因となるクラッシュを起こす可能性があります。
(CVE-2016-10161)

- ユーザー入力が不適切に検証されるため、wddx.cのphp_wddx_pop_element()関数に、NULLポインターデリファレンスの欠陥があります。認証されていないリモートの攻撃者がこれを悪用してクラッシュを起こさせ、サービス拒否状態を引き起こす可能性があります。(CVE-2016-10162)

- ユーザー入力が不適切に検証されるため、gd_io.cに署名済み整数オーバーフロー状態があります。認証されていないリモートの攻撃者がこれを悪用し、詳細不明な影響を与える可能性があります。

- 特別に細工されたGMPオブジェクトの逆シリアル化中にトリガーされる、型の取り違え(Type Confusion)の欠陥があります。認証されていないリモートの攻撃者がこれを悪用してクラッシュを起こさせ、サービス拒否状態を引き起こす可能性があります。

- ZVALオブジェクトを逆シリアル化するときトリガーされる、型の取り違え(Type Confusion)エラーがあります。認証されていないリモート攻撃者がこの脆弱性を悪用し、任意のコードを実行する可能性があります。

- イメージが不適切に検証されているため、サービス拒否の脆弱性が、バンドルされたGDグラフィックスライブラリ(LibGD)のgd_gd2.cのgdImageCreateFromGd2Ctx()関数にあります。認証されていないリモートの攻撃者がこれを悪用し、特別に細工されたイメージを介してプロセスをクラッシュさせる可能性があります。(CVE-2016-10167)

- GDグラフィックスライブラリ(libgd)のgd_io.cスクリプトに整数オーバーフロー状態があります。認証されていないリモートの攻撃者がこれを悪用し、サービス拒否状態または任意のコードの実行を引き起こす可能性があります。(CVE-2016-10168)

- pharアーカイブが不適切に解析されているため、phar.cのphar_parse_pharfile()関数に領域外読み取りエラーがあります。認証されていないリモートの攻撃者がこれを悪用してクラッシュを起こさせ、サービス拒否状態を引き起こす可能性があります。(CVE-2017-11147)

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

ソリューション

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

参考資料

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

プラグインの詳細

深刻度: Critical

ID: 96800

ファイル名: php_7_0_15.nasl

バージョン: 1.10

タイプ: remote

ファミリー: CGI abuses

公開日: 2017/1/26

更新日: 2022/4/11

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

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: High

基本値: 7.5

現状値: 5.5

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

CVSS スコアのソース: CVE-2017-5340

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 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

パッチ公開日: 2017/1/19

脆弱性公開日: 2015/3/17

参照情報

CVE: CVE-2015-2787, CVE-2016-10158, CVE-2016-10159, CVE-2016-10160, CVE-2016-10161, CVE-2016-10162, CVE-2016-10167, CVE-2016-10168, CVE-2016-7479, CVE-2017-11147, CVE-2017-5340

BID: 73431, 95151, 95371, 95668, 95764, 95768, 95774, 95783, 95869, 99607