Skip to main content

PHP5.6.27リリース対応 PHPセキュリティ保守サービス パッチ配布開始

PHPセキュリティ保守サービスとは、メンテナンスが終了したPHPを安全に利用するパッチを提供するサービスです。PHP 5.5/5.4/5.3/5.2/4.4に対応しています。

以下はPHPセキュリティ保守サービスのリリースノートからの抜粋です。

詳しい情報はパッチのドキュメントを参照してください。

◆ 2016/12/25
PHPプロジェクトのPHP 5.6.27リリースに対応したリリースです。
これらのRelease Noteでは以下のセキュリティ/バグフィックスが報告されています。

備考:
Zendエンジン内のハッシュ関数処理に多くの整数オーバーフロー脆弱性の修正が加えられています。緩和策としてメモリ制限を2^31(32bit環境)または2^63(64bit環境)未満に設定すると脆弱性を回避できます。

Curlオブジェクトによるアンシリアライズの開放済みメモリへのアクセスが修正されています。

大きなデータによるメモリ管理問題はメモリ制限で対策できます。。長大(2GB以上)な文字列によるメモリアクセス問題は修正されていません。古いPHPの変数はそもそも2GB以上のデータを取り扱えるよう設計されていません。適切なメモリ制限で利用します。この為、PHP 5.3以下では長大なデータに関係する問題は修正していません。

Release Noteに記載されていない関連修正が一部パッチ内に含まれます。これらはPHP 5.6の修正のみでは下位のバージョンでは不十分な場合に対応する為の物です。


Core:
Fixed bug #73025 (Heap Buffer Overflow in virtual_popen of zend_virtual_cwd.c).
長大な文字列による不正メモリアクセス
緩和策:
文字列の長さをバリデーションする。
無用に長大な入力を受け入れない。(mas_post_size)
メモリ制限を2^31(32bit環境)または2^63(64bit環境)未満に設定する。

Fixed bug #73058 (crypt broken when salt is 'too' long).
長大な文字列による不正メモリアクセス
通常salt引数はユーザー入力ではない(ユーザー入力であるべきでない)
緩和策;
文字列の長さをバリデーションする。
無用に長大な入力を受け入れない。(mas_post_size)
メモリ制限を2^31(32bit環境)または2^63(64bit環境)未満に設定する。

Fixed bug #72703 (Out of bounds global memory read in BF_crypt triggered by password_verify).
通常パスワードハッシュのsalt文字列はユーザー入力ではない(ユーザー入力であるはずがない)
長大な文字列による不正メモリアクセス
緩和策:
文字列の長さをバリデーションする。
無用に長大な入力を受け入れない。(mas_post_size)
メモリ制限を2^31(32bit環境)または2^63(64bit環境)未満に設定する。


■ Fixed bug #73189 (Memcpy negative size parameter php_resolve_path).
対象: PHP 5.5/5.4/5.3
長大な文字列による不正メモリアクセス

■ Fixed bug #73147 (Use After Free in unserialize()).
対象: PHP 5.5
unserialize()で開放済みのメモリへのアクセスが発生する。
 

BCmath:
■ Fixed bug #73190 (memcpy negative parameter _bc_new_num_ex).
対象: PHP 5.5/5.4
長大なパラメーターでメモリコピーが正常に行われない。

 

DOM:
■ Fixed bug #73150 (missing NULL check in dom_document_save_html).
対象: PHP 5.5/5.4
長大な文字列による不正メモリアクセスが発生し、NULLチェック漏れが発生する。
 

Ereg:
■ Fixed bug #73284 (heap overflow in php_ereg_replace function).
対象: PHP 5.5/5.4
長大な文字列による不正メモリアクセスが発生する。
 

 

Filter:
Fixed bug #72972 (Bad filter for the flags FILTER_FLAG_NO_RES_RANGE and FILTER_FLAG_NO_PRIV_RANGE).
バグフィックス
備考:5.6.26のパッチセットで対応済み。


Fixed bug #67167 (Wrong return value from FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE).
バグフィックス
オブジェクト型のデータが論理値型として処理される。

Fixed bug #73054 (default option ignored when object passed to int filter).
バグフィックス
オブジェクト型のデータを整数型フィルターに渡した場合、オプションが無視される。


GD:
Fixed bug #67325 (imagetruecolortopalette: white is duplicated in palette).
バグフィックス

Fixed bug #50194 (imagettftext broken on transparent background w/o alphablending).
バグフィックス


■ Fixed bug #73003 (Integer Overflow in gdImageWebpCtx of gd_webp.c).
webp画像処理で整数オーバーフローが発生する
対象: PHP 5.5/5.4

 

Fixed bug #53504 (imagettfbbox gives incorrect values for bounding box).
バグフィックス

Fixed bug #73157 (imagegd2() ignores 3rd param if 4 are given).
バグフィックス

Fixed bug #73155 (imagegd2() writes wrong chunk sizes on boundaries).
バグフィックス

Fixed bug #73159 (imagegd2(): unrecognized formats may result in corrupted files).
バグフィックス

Fixed bug #73161 (imagecreatefromgd2() may leak memory).
バグフィックス


Intl:
■ Fixed bug #73218 (add mitigation for ICU int overflow).
長大なロケール文字列で整数オーバーフローが発生する。
対象: PHP 5.5/5.4

 

Imap:
■ Fixed bug #73208 (integer overflow in imap_8bit caused heap corruption).
長大な文字列によりimap_8bitで整数オーバーフローが発生する。
対象: PHP 5.5/5.4

 

Mbstring:
Fixed bug #72992 (mbstring.internal_encoding doesn't inherit default_charset).
バグフィックス
PHP 5.6以降の機能


■ Fixed bug #72994 (mbc_to_code() out of bounds read).
メモリ範囲外の読み込みが発生する。
PHP 5.5/5.4

 

Fixed bug #66964 (mb_convert_variables() cannot detect recursion).
バグフィックス: 再帰呼び出しが検出できずクラッシュする
PHP 5.5/5.4


■ Fixed bug #73082 (string length overflow in mb_encode_* function).
長い文字列で整数オーバーフローが発生し不正メモリアクセスが発生する
PHP 5.5/5.4

 

PCRE:
■ Fixed bug #73174 (heap overflow in php_pcre_replace_impl).
長い検索対象文字列で整数オーバーフローによりヒープオーバーフローが発生する。
対象:PHP 5.5/5.4

 

Opcache:
Fixed bug #72590 (Opcache restart with kill_all_lockers does not work).
PHP 5.6以降の機能


OpenSSL:
■ Fixed bug #73072 (Invalid path SNI_server_certs causes segfault).
バグフィックス:不正な証明書へのパスでクラッシュする。
対象: PHP 5.5

 

■ Fixed bug #73275 (crash in openssl_encrypt function).
長い文字列で整数オーバーフローが発生し不正メモリアクセスが発生する
対象:PHP 5.5/5.4

 

■ Fixed bug #73276 (crash in openssl_random_pseudo_bytes function).
大きな結果をopenssl_random_pseudo_butes関数で取得しようとするとクラッシュする。
対象:PHP 5.5/5.4

 

Session:
Fixed bug #68015 (Session does not report invalid uid for files save handler).
バグフィックス

Fixed bug #73100 (session_destroy null dereference in ps_files_path_create).
バグフィックス


SimpleXML:
■ Fixed bug #73293 (NULL pointer dereference in SimpleXMLElement::asXML()).
長い文字列で整数オーバーフローが発生し不正メモリアクセスが発生する
対象:PHP 5.5/5.4

 

SPL:
■ Fixed bug #73073 (CachingIterator null dereference when convert to string).
バグフィックス:Iteratorでヌルポインター参照が発生する
対象:PHP 5.5
PHP 5.4以下は対応の為に必要な構造体要素を持たないが、問題は存在する

 

Standard:
■ Fixed bug #73240 (Write out of bounds at number_format).
number_format関数で範囲外メモリの書き込みが発生する
対象:PHP 5.5

 

■ Fixed bug #73017 (memory corruption in wordwrap function).
wordwrap関数で不正なメモリ書き込みが発生する。
対象:PHP 5.5

Stream:
Fixed bug #73069 (readfile() mangles files larger than 2G).
バグフィックス

Zip:
Fixed bug #70752 (Depacking with wrong password leaves 0 length files).
バグフィックス