Help us understand the problem. What is going on with this article?

PHP 7.3.3/7.2.16/7.1.27 Released. This is a security release

More than 1 year has passed since last update.

PHP 7.3.3/7.2.16/7.1.27

PHP 7 ChangeLog を並べ直してみただけです。Security Releaseとはいうものの、各バグの危険度がまだ評価されていないので待ち
いくつかでました。あ、まだ詳しく追ってないので評価は鵜呑みにしないでください。

せっかちな人のための結論

現時点で明らかになっている脆弱性を見る限り、外部から直接攻撃される可能性が比較的低めです。以下のいずれかを満たす必要があります

  • 外部から提供された画像ファイルをアップロードされ、それをexif処理する可能性がある
    • CMS
    • wiki
  • phpコードをサーバ管理者以外がアップロードされうる
    • 共有レンタルサーバなど

発行されたCVE

  • Core: rename() ということはシチュエーションは非常に限られます。別の脆弱性と併用するか、phpコードの設置者がサーバ管理者と完全同一ではない場合(例えばSaSSや共有レンタルサーバなど)の場合のみ直接脅威であると言えるのではないかと思います。

  • EXIF: wikiやCMSなどで不特定多数の作った画像ファイルを受け取る可能性がある場合に危険度たかし

他に怪しいBug

  • privateになっているので詳細不明。他の修正の差分を取り除いて洗い出すしかないかな?

試した環境

テストコードが提示されている、EXIFに限って調べてみました。
CVE-2019-9638,CVE-2019-9640 のみですが全ての環境で陽性です。CVE-2019-9641 はどうやって未再現できず。もしかして32bit onlyか、64bitでは別のダミーファイルが必要なのかも。

  • php 7.2.14 (selfrpm) on Amazon Linux 2
  • php 5.5.38 on Amazon Linux
  • php 5.6.40 (selfbuild) on CentOS 6.10

Changelog

Module 7.x Link Note
Core 3,2 #77589 Core dump using parse_ini_string with numeric sections
Core 3 #77329 Buffer Overflow via overly long Error Messages
Core 3 #77494 Disabling class causes segfault on member access
Core 3 #77498 Custom extension Segmentation fault when declare static property
Core 3 #77530 PHP crashes when parsing (2)::class
Core 3 #77546 iptcembed broken function
Core 3,2,1 #77630 rename() across the device may allow unwanted access during processing
COM 3,2 #77621 Already defined constants are not properly reported
COM 3 #77626 Persistence confusion in php_com_import_typelib()
EXIF 3,2,1 #77509 Uninitialized read in exif_process_IFD_in_TIFF
EXIF 3,2,1 #77540 Invalid Read on exif_process_SOFn
EXIF 3,2,1 #77563 Uninitialized read in exif_process_IFD_in_MAKERNOTE
EXIF 3,2,1 #77659 Uninitialized read in exif_process_IFD_in_MAKERNOTE
Mbstring 3 #77514 mb_ereg_replace() with trailing backslash adds null byte
MySQL 3,2 Disabled LOCAL INFILE by default, can be enabled using php.ini directive
mysqli.allow_local_infile for mysqli, or PDO::MYSQL_ATTR_LOCAL_INFILE
attribute for pdo_mysql.
OpenSSL 3 #77390 feof might hang on TLS streams in case of fragmented TLS records
PDO_OCI 3,2 Support Oracle Database tracing attributes ACTION, MODULE, CLIENT_INFO,
and CLIENT_IDENTIFIER.
PHAR 3,2,1 #77396 Null Pointer Dereference in phar_create_or_parse_filename
PHAR 3,1 #77586 phar_tar_writeheaders_int() buffer overflow
phpdbg 3 #76596 phpdbg support for display_errors=stderr
SPL 3,2 #51068 DirectoryIterator glob:// don't support current path relative queries
SPL 3,2,1 #77431 openFile() silently truncates after a null byte
Standard 3,2 #77552 Unintialized php_stream_statbuf in stat functions
Standard 3 #77612 setcookie() sets incorrect SameSite header if all of its options filled
ramsydx
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away