Skip to main content

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

PHPプロジェクトによるPHP 7.1のメンテナンス期間は2019年12月のリリースで終了しました。今後、PHP 7.1以下の利用を継続されるには既知のセキュリティ問題を修正したPHPを利用する必要があります。ESIのPHPセキュリティ保守サービスではPHP 4.4以降のPHPに既知のセキュリティ問題を修正したバージョンをご利用頂けます。

以下はPHP 7.2.26に対応したPHPセキュリティ保守サービスのリリースノートです。



19 Dec 2019, PHP 7.2.26

=================================================================================
- Bcmath:
  . Fixed bug #78878 (Buffer underflow in bc_shift_addsub). (CVE-2019-11046).
    (cmb)

PHP 4.4以降

BCMathのビットシフト操作でスケールに非整数の引数を渡した場合にバッファアンダーフローが発生する。

■ 互換性
問題無し

■ 影響
通常、スケール引数に非整数を渡すことは考えられないが、渡した場合バッファーアンダーフローにより
メモリ破壊が発生し、それに伴う攻撃が可能になる可能性がある。

=================================================================================
- Core:
  . Fixed bug #78862 (link() silently truncates after a null byte on Windows).
    (CVE-2019-11044). (cmb)

PHP 5.3以降

Windows版PHPでヌル文字を含むファイル名がヌル文字位置で短縮される。
PHP 5.3以前のPHPではlink()はサポートされていない。

■ 互換性
問題無し

■ 影響
不正なファイルアクセスを許可する。

=================================================================================
  . Fixed bug #78863 (DirectoryIterator class silently truncates after a null
    byte). (CVE-2019-11045). (cmb)

PHP 5.3以降で対応(SPLを持つPHP 5.2以降に影響)

ヌル文字が含まれる場合に文字列がヌル文字位置で丸められる。PHP 5.3以降のPHPはパス中にヌル文字
が含まれる場合にエラーとなるよう修正されている。PHP 5.2のオブジェクト仕様は汎用的なヌル文字
チェックが不適当である為、影響はあるば未対応です。一般に不正ヌル文字はセキュリティ問題の原因
となるため入力データバリデーションで対応する必要があります。PHP 5.2をご利用の場合はPHPの
フェイルセーフ機能に頼らずバリデーションで対応する必要があります。

備考: ヌル文字対策はPHPにバンドルされているモジュールのみで3rdパーティーモジュールの対応
は保証されていません。この為、入力文字列の妥当性確認は必要です。

■ 互換性
問題無し

■ 影響
不正なファイルアクセスを許可する。

=================================================================================
- EXIF:
  . Fixed bug #78793 (Use-after-free in exif parsing under memory sanitizer).
    (CVE-2019-11050). (Nikita)
  . Fixed bug #78910 (Heap-buffer-overflow READ in exif). (CVE-2019-11047).
    (Nikita)

PHP 5.2以降

Exif情報データ処理に問題があり、開放後メモリアクセスとヒープオーバーフローが発生する。PHP 4.4
にも該当するコードがあるが、報告されている方法ではメモリ問題は発生しない。

■ 互換性
問題無し

■ 影響
不正なExif情報で任意コードを実行される可能性がある。


=================================================================================
- GD:
  . Fixed bug #78849 (GD build broken with -D SIGNED_COMPARE_SLOW). (cmb)

PHP 5.2以降

コンパイル問題のバグ修正。セキュリティ上の問題は発生しない。


■ 互換性
問題無し

■ 影響
通常はセキュリティ上の問題にはならない。

=================================================================================
- Intl:
  . Fixed bug #78804 (Segmentation fault in Locale::filterMatches). (Stas)

PHP 5.3以降

不正なオプション指定でLocale::filterMatchesがクラッシュする。
通常、ロケールオプション指定がユーザーパラメーターになることはない為、通常のバグ修正として
対応されているが本サービスでは対応。

■ 互換性
問題無し

■ 影響
通常はセキュリティ上の問題にはならない。

=================================================================================
- OPcache:
  . Fixed $x = (bool)$x; with opcache (should emit undeclared variable notice).
    (Tyson Andre)

対応なし

通常のバグ修正

- Standard:
  . Fixed bug #78759 (array_search in $GLOBALS). (Nikita)

対応なし

通常のバグ修正

=================================================================================
  . Fixed bug #78833 (Integer overflow in pack causes out-of-bound access).
    (cmb)

PHP 4.4以降

不正なフォーマット文字オプション指定でpackのフォーマット文字処理で整数オーバーフローが発生する。
通常のバグ修正として対応されているが本サービスでは対応。

■ 互換性
問題無し

■ 影響
通常はセキュリティ問題とならない。

=================================================================================
  . Fixed bug #78814 (strip_tags allows / in tag name => whitelist bypass).
    (cmb)

PHP 5.3以降

タグ名に不正な/を許してしまうバグ。通常のバグ修正として対応されているが本サービスでは対応。
そもそもstrip_tags()はセキュリティ処理として利用できない為、セキュリティ問題として扱われない。

■ 互換性
問題無し

■ 影響
場合によってはJavaScript/HTMLインジェクションを許してしまう。