PHP 5 ChangeLog

5.6 | 5.5 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0

Version 5.6.40

  • GD:
    • Fixed bug #77269 (efree() on uninitialized Heap data in imagescale leads to use-after-free). (CVE-2016-10166)
    • Fixed bug #77270 (imagecolormatch Out Of Bounds Write on Heap). (CVE-2019-6977)
  • Mbstring:
    • Fixed bug #77370 (Buffer overflow on mb regex functions - fetch_token). (CVE-2019-9023)
    • Fixed bug #77371 (heap buffer overflow in mb regex functions - compile_string_node). (CVE-2019-9023)
    • Fixed bug #77381 (heap buffer overflow in multibyte match_at). (CVE-2019-9023)
    • Fixed bug #77382 (heap buffer overflow due to incorrect length in expand_case_fold_string). (CVE-2019-9023)
    • Fixed bug #77385 (buffer overflow in fetch_token). (CVE-2019-9023)
    • Fixed bug #77394 (Buffer overflow in multibyte case folding - unicode). (CVE-2019-9023)
    • Fixed bug #77418 (Heap overflow in utf32be_mbc_to_code). (CVE-2019-9023)
  • Phar:
    • Fixed bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext). (CVE-2019-9021)
  • Xmlrpc:
    • Fixed bug #77242 (heap out of bounds read in xmlrpc_decode()). (CVE-2019-9020)
    • Fixed bug #77380 (Global out of bounds read in xmlrpc base64 code). (CVE-2019-9024)

Version 5.6.39

  • Core:
    • Fixed bug #77231 (Segfault when using convert.quoted-printable-encode filter).
  • IMAP:
    • Fixed bug #77020 (null pointer dereference in imap_mail).
    • Fixed bug #77153 (imap_open allows to run arbitrary shell commands via mailbox parameter). (CVE-2018-19518)
  • Phar:
    • Fixed bug #77022 (PharData always creates new files with mode 0666).
    • Fixed bug #77143 (Heap Buffer Overflow (READ: 4) in phar_parse_pharfile). (CVE-2018-20783)

Version 5.6.38

  • Apache2:
    • Fixed bug #76582 (XSS due to the header Transfer-Encoding: chunked). (CVE-2018-17082)

Version 5.6.37

  • Exif:
    • Fixed bug #76423 (Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of exif.c). (CVE-2018-14883)
    • Fixed bug #76557 (heap-buffer-overflow (READ of size 48) while reading exif data). (CVE-2018-14851)
  • Win32:
    • Fixed bug #76459 (windows linkinfo lacks openbasedir check). (CVE-2018-15132)

Version 5.6.36

  • Exif:
    • Fixed bug #76130 (Heap Buffer Overflow (READ: 1786) in exif_iif_add_value). (CVE-2018-10549)
  • iconv:
    • Fixed bug #76249 (stream filter convert.iconv leads to infinite loop on invalid sequence). (CVE-2018-10546)
  • LDAP:
    • Fixed bug #76248 (Malicious LDAP-Server Response causes Crash). (CVE-2018-10548)
  • Phar:
    • Fixed bug #76129 (fix for CVE-2018-5712 may not be complete). (CVE-2018-10547)

Version 5.6.35

  • FPM:
    • Fixed bug #75605 (Dumpable FPM child processes allow bypassing opcache access controls). (CVE-2018-10545)

Version 5.6.34

  • Standard:
    • Fixed bug #75981 (stack-buffer-overflow while parsing HTTP response). (CVE-2018-7584)

Version 5.6.33

  • GD:
    • Fixed bug #75571 (Potential infinite loop in gdImageCreateFromGifCtx). (CVE-2018-5711)
  • Phar:
    • Fixed bug #74782 (Reflected XSS in .phar 404 page). (CVE-2018-5712)

Version 5.6.32

  • Date:
    • Fixed bug #75055 (Out-Of-Bounds Read in timelib_meridian()). (CVE-2017-16642)
  • mcrypt:
    • Fixed bug #72535 (arcfour encryption stream filter crashes php).
  • PCRE:
    • Fixed bug #75207 (applied upstream patch for CVE-2016-1283).

Version 5.6.31

  • Core:
    • Fixed bug #73807 (Performance problem with processing large post request). (CVE-2017-11142)
    • Fixed bug #74111 (Heap buffer overread (READ: 1) finish_nested_data from unserialize). (CVE-2017-12933)
    • Fixed bug #74603 (PHP INI Parsing Stack Buffer Overflow Vulnerability). (CVE-2017-11628)
    • Fixed bug #74819 (wddx_deserialize() heap out-of-bound read via php_parse_date()). (CVE-2017-11145)
  • GD:
    • Fixed bug #74435 (Buffer over-read into uninitialized memory). (CVE-2017-7890)
  • mbstring:
    • Add oniguruma upstream fix (CVE-2017-9224, CVE-2017-9226, CVE-2017-9227, CVE-2017-9228, CVE-2017-9229)
  • OpenSSL:
    • Fixed bug #74651 (negative-size-param (-1) in memcpy in zif_openssl_seal()). (CVE-2017-11144)
  • PCRE:
    • Fixed bug #74087 (Segmentation fault in PHP7.1.1(compiled using the bundled PCRE library)).
  • WDDX:
    • Fixed bug #74145 (wddx parsing empty boolean tag leads to SIGSEGV). (CVE-2017-11143)

Version 5.6.30

  • EXIF:
    • Fixed bug #73737 (FPE when parsing a tag format). (CVE-2016-10158)
  • GD:
    • Fixed bug #73549 (Use after free when stream is passed to imagepng).
    • Fixed bug #73868 (DOS vulnerability in gdImageCreateFromGd2Ctx()). (CVE-2016-10167)
    • Fixed bug #73869 (Signed Integer Overflow gd_io.c). (CVE-2016-10168)
  • Intl:
    • Fixed bug #68447 (grapheme_extract take an extra trailing character).
  • Phar:
    • Fixed bug #73764 (Crash while loading hostile phar archive). (CVE-2016-10159)
    • Fixed bug #73768 (Memory corruption when loading hostile phar). (CVE-2016-10160)
    • Fixed bug #73773 (Seg fault when loading hostile phar). (CVE-2017-11147)
  • SQLite3:
    • Reverted fix for bug #73530 (Unsetting result set may reset other result set).
  • Standard:
    • Fixed bug #70213 (Unserialize context shared on double class lookup).
    • Fixed bug #73825 (Heap out of bounds read on unserialize in finish_nested_data()). (CVE-2016-10161)

Version 5.6.29

  • Mysqlnd:
    • Fixed bug #64526 (Add missing mysqlnd.* parameters to php.ini-*).
  • Opcache:
    • Fixed bug #73402 (Opcache segfault when using class constant to call a method).
    • Fixed bug #69090 (check cached files permissions)
  • OpenSSL:
    • Fixed bug #72776 (Invalid parameter in memcpy function trough openssl_pbkdf2).
  • Postgres:
    • Fixed bug #73498 (Incorrect SQL generated for pg_copy_to()).
  • SOAP:
  • SQLite3:
    • Fixed bug #73530 (Unsetting result set may reset other result set).
  • Standard:
    • Fixed bug #73297 (HTTP stream wrapper should ignore HTTP 100 Continue).
  • WDDX:
    • Fixed bug #73631 (Invalid read when wddx decodes empty boolean element). (CVE-2016-9935)

Version 5.6.28

  • Core:
    • Fixed bug #73337 (try/catch not working with two exceptions inside a same operation).
  • Bz2:
    • Fixed bug #73356 (crash in bzcompress function).
  • GD:
    • Fixed bug #73213 (Integer overflow in imageline() with antialiasing).
    • Fixed bug #73272 (imagescale() is not affected by, but affects imagesetinterpolation()).
    • Fixed bug #73279 (Integer overflow in gdImageScaleBilinearPalette()).
    • Fixed bug #73280 (Stack Buffer Overflow in GD dynamicGetbuf).
    • Fixed bug #72482 (Illegal write/read access caused by gdImageAALine overflow).
    • Fixed bug #72696 (imagefilltoborder stackoverflow on truecolor images). (CVE-2016-9933)
  • Imap:
    • Fixed bug #73418 (Integer Overflow in "_php_imap_mail" leads Heap Overflow).
  • SPL:
    • Fixed bug #73144 (Use-after-free in ArrayObject Deserialization).
  • SOAP:
    • Fixed bug #73037 (SoapServer reports Bad Request when gzipped).
  • SQLite3:
    • Fixed bug #73333 (2147483647 is fetched as string).
  • Standard:
    • Fixed bug #73203 (passing additional_parameters causes mail to fail).
    • Fixed bug #73188 (use after free in userspace streams).
    • Fixed bug #73192 (parse_url return wrong hostname).
  • Wddx:
    • Fixed bug #73331 (NULL Pointer Dereference in WDDX Packet Deserialization with PDORow). (CVE-2016-9934)

Version 5.6.27

  • Core:
    • Fixed bug #73025 (Heap Buffer Overflow in virtual_popen of zend_virtual_cwd.c).
    • Fixed bug #73058 (crypt broken when salt is 'too' long).
    • Fixed bug #72703 (Out of bounds global memory read in BF_crypt triggered by password_verify).
    • Fixed bug #73189 (Memcpy negative size parameter php_resolve_path).
    • Fixed bug #73147 (Use After Free in unserialize()).
  • BCmath:
    • Fixed bug #73190 (memcpy negative parameter _bc_new_num_ex).
  • DOM:
    • Fixed bug #73150 (missing NULL check in dom_document_save_html).
  • Ereg:
    • Fixed bug #73284 (heap overflow in php_ereg_replace function).
  • Filter:
    • Fixed bug #72972 (Bad filter for the flags FILTER_FLAG_NO_RES_RANGE and FILTER_FLAG_NO_PRIV_RANGE).
    • 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).
    • 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).
  • Imap:
    • Fixed bug #73208 (integer overflow in imap_8bit caused heap corruption).
  • Mbstring:
    • Fixed bug #72994 (mbc_to_code() out of bounds read).
    • Fixed bug #66964 (mb_convert_variables() cannot detect recursion).
    • Fixed bug #72992 (mbstring.internal_encoding doesn't inherit default_charset).
    • Fixed bug #73082 (string length overflow in mb_encode_* function).
  • PCRE:
    • Fixed bug #73174 (heap overflow in php_pcre_replace_impl).
  • Opcache:
    • Fixed bug #72590 (Opcache restart with kill_all_lockers does not work).
  • OpenSSL:
    • Fixed bug #73072 (Invalid path SNI_server_certs causes segfault).
    • Fixed bug #73275 (crash in openssl_encrypt function).
    • Fixed bug #73276 (crash in openssl_random_pseudo_bytes function).
  • 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()).
  • SPL:
    • Fixed bug #73073 (CachingIterator null dereference when convert to string).
  • Standard:
    • Fixed bug #73240 (Write out of bounds at number_format).
    • Fixed bug #73017 (memory corruption in wordwrap function).
  • Stream:
    • Fixed bug #73069 (readfile() mangles files larger than 2G).
  • Zip:
    • Fixed bug #70752 (Depacking with wrong password leaves 0 length files).

Version 5.6.26

  • Core:
    • Fixed bug #72907 (null pointer deref, segfault in gc_remove_zval_from_buffer (zend_gc.c:260)).
  • Dba:
    • Fixed bug #71514 (Bad dba_replace condition because of wrong API usage).
    • Fixed bug #70825 (Cannot fetch multiple values with group in ini file).
  • EXIF:
    • Fixed bug #72926 (Uninitialized Thumbail Data Leads To Memory Leakage in exif_process_IFD_in_TIFF).
  • FTP:
    • Fixed bug #70195 (Cannot upload file using ftp_put to FTPES with require_ssl_reuse).
  • GD:
    • Fixed bug #66005 (imagecopy does not support 1bit transparency on truecolor images).
    • Fixed bug #72913 (imagecopy() loses single-color transparency on palette images).
    • Fixed bug #68716 (possible resource leaks in _php_image_convert()).
  • Intl:
    • Fixed bug #73007 (add locale length check). (CVE-2016-7416)
  • JSON:
    • Fixed bug #72787 (json_decode reads out of bounds).
  • mbstring:
    • Fixed bug #66797 (mb_substr only takes 32-bit signed integer).
    • Fixed bug #72910 (Out of bounds heap read in mbc_to_code() / triggered by mb_ereg_match()).
  • MSSQL:
    • Fixed bug #72039 (Use of uninitialised value on mssql_guid_string).
  • Mysqlnd:
    • Fixed bug #72293 (Heap overflow in mysqlnd related to BIT fields). (CVE-2016-7412)
  • PDO:
    • Fixed bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY returns false).
  • PDO_pgsql:
    • Implemented FR #72633 (Postgres PDO lastInsertId() should work without specifying a sequence).
    • Fixed bug #72759 (Regression in pgo_pgsql).
  • Phar:
    • Fixed bug #72928 (Out of bound when verify signature of zip phar in phar_parse_zipfile). (CVE-2016-7414)
    • Fixed bug #73035 (Out of bound when verify signature of tar phar in phar_parse_tarfile).
  • SPL:
    • Fixed bug #73029 (Missing type check when unserializing SplArray). (CVE-2016-7417)
  • Standard:
    • Fixed bug #72823 (strtr out-of-bound access).
    • Fixed bug #72278 (getimagesize returning FALSE on valid jpg).
    • Fixed bug #65550 (get_browser() incorrectly parses entries with "+" sign).
    • Fixed bug #71882 (Negative ftruncate() on php://memory exhausts memory).
    • Fixed bug #73011 (integer overflow in fgets cause heap corruption).
    • Fixed bug #73017 (memory corruption in wordwrap function).
    • Fixed bug #73045 (integer overflow in fgetcsv caused heap corruption).
    • Fixed bug #73052 (Memory Corruption in During Deserialized-object Destruction). (CVE-2016-7411)
  • Streams:
    • Fixed bug #72853 (stream_set_blocking doesn't work).
  • Wddx:
    • Fixed bug #72860 (wddx_deserialize use-after-free). (CVE-2016-7413)
    • Fixed bug #73065 (Out-Of-Bounds Read in php_wddx_push_element). (CVE-2016-7418)
  • XML:
    • Fixed bug #72085 (SEGV on unknown address zif_xml_parse).
    • Fixed bug #72927 (integer overflow in xml_utf8_encode).
  • ZIP:
    • Fixed bug #68302 (impossible to compile php with zip support).

Version 5.6.25

  • Core:
    • Fixed bug #70436 (Use After Free Vulnerability in unserialize()).
    • Fixed bug #72024 (microtime() leaks memory).
    • Fixed bug #72581 (previous property undefined in Exception after deserialization).
    • Implemented FR #72614 (Support "nmake test" on building extensions by phpize).
    • Fixed bug #72641 (phpize (on Windows) ignores PHP_PREFIX).
    • Fixed bug #72663 (Create an Unexpected Object and Don't Invoke __wakeup() in Deserialization). (CVE-2016-7124)
    • Fixed bug #72681 (PHP Session Data Injection Vulnerability). (CVE-2016-7125)
  • Bz2:
    • Fixed bug #72837 (integer overflow in bzdecompress caused heap corruption).
  • Calendar:
    • Fixed bug #67976 (cal_days_month() fails for final month of the French calendar).
    • Fixed bug #71894 (AddressSanitizer: global-buffer-overflow in zif_cal_from_jd).
  • Curl:
    • Fixed bug #71144 (Segmentation fault when using cURL with ZTS).
    • Fixed bug #71929 (Certification information (CERTINFO) data parsing error).
    • Fixed bug #72807 (integer overflow in curl_escape caused heap corruption).
  • DOM:
    • Fixed bug #66502 (DOM document dangling reference).
  • Ereg:
    • Fixed bug #72838 (Integer overflow lead to heap corruption in sql_regcase).
  • EXIF:
    • Fixed bug #72627 (Memory Leakage In exif_process_IFD_in_TIFF). (CVE-2016-7128)
    • Fixed bug #72735 (Samsung picture thumb not read (zero size)).
  • Filter:
    • Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 range).
  • FPM:
    • Fixed bug #72575 (using --allow-to-run-as-root should ignore missing user).
  • GD:
    • Fixed bug #43828 (broken transparency of imagearc for truecolor in blendingmode).
    • Fixed bug #66555 (Always false condition in ext/gd/libgd/gdkanji.c).
    • Fixed bug #68712 (suspicious if-else statements).
    • Fixed bug #70315 (500 Server Error but page is fully rendered).
    • Fixed bug #72596 (imagetypes function won't advertise WEBP support).
    • Fixed bug #72604 (imagearc() ignores thickness for full arcs).
    • Fixed bug #72697 (select_colors write out-of-bounds). (CVE-2016-7126)
    • Fixed bug #72709 (imagesetstyle() causes OOB read for empty $styles).
    • Fixed bug #72730 (imagegammacorrect allows arbitrary write access). (CVE-2016-7127)
    • Fixed bug #72494 (imagecropauto out-of-bounds access)
  • Intl:
    • Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain names).
  • mbstring:
    • Fixed bug #72691 (mb_ereg_search raises a warning if a match zero-width).
    • Fixed bug #72693 (mb_ereg_search increments search position when a match zero-width).
    • Fixed bug #72694 (mb_ereg_search_setpos does not accept a string's last position).
    • Fixed bug #72710 (`mb_ereg` causes buffer overflow on regexp compile error).
  • PCRE:
    • Fixed bug #72688 (preg_match missing group names in matches).
  • PDO_pgsql:
    • Fixed bug #70313 (PDO statement fails to throw exception).
  • Reflection:
    • Fixed bug #72222 (ReflectionClass::export doesn't handle array constants).
  • SNMP:
    • Fixed bug #72708 (php_snmp_parse_oid integer overflow in memory allocation).
  • Standard:
    • Fixed bug #72330 (CSV fields incorrectly split if escape char followed by UTF chars).
    • Fixed bug #72836 (integer overflow in base64_decode).
    • Fixed bug #72848 (integer overflow in quoted_printable_encode).
    • Fixed bug #72849 (integer overflow in urlencode).
    • Fixed bug #72850 (integer overflow in php_uuencode).
    • Fixed bug #72716 (initialize buffer before read).
  • Streams:
    • Fixed bug #41021 (Problems with the ftps wrapper).
    • Fixed bug #54431 (opendir() does not work with ftps:// wrapper).
    • Fixed bug #72667 (opendir() with ftp:// attempts to open data stream for non-existent directories).
    • Fixed bug #72764 (ftps:// opendir wrapper data channel encryption fails with IIS FTP 7.5, 8.5).
    • Fixed bug #72771 (ftps:// wrapper is vulnerable to protocol downgrade attack).
  • SPL:
    • Fixed bug #72122 (IteratorIterator breaks '@' error suppression).
    • Fixed bug #72646 (SplFileObject::getCsvControl does not return the escape character).
    • Fixed bug #72684 (AppendIterator segfault with closed generator).
  • SQLite3:
    • Implemented FR #72653 (SQLite should allow opening with empty filename).
  • Wddx:
    • Fixed bug #72142 (WDDX Packet Injection Vulnerability in wddx_serialize_value()).
    • Fixed bug #72749 (wddx_deserialize allows illegal memory access). (CVE-2016-7129)
    • Fixed bug #72750 (wddx_deserialize null dereference). (CVE-2016-7130)
    • Fixed bug #72790 (wddx_deserialize null dereference with invalid xml). (CVE-2016-7131)
    • Fixed bug #72799 (wddx_deserialize null dereference in php_wddx_pop_element). (CVE-2016-7132)

Version 5.6.24

  • Core:
    • Fixed bug #71936 (Segmentation fault destroying HTTP_RAW_POST_DATA).
    • Fixed bug #72496 (Cannot declare public method with signature incompatible with parent private method).
    • Fixed bug #72138 (Integer Overflow in Length of String-typed ZVAL).
    • Fixed bug #72513 (Stack-based buffer overflow vulnerability in virtual_file_ex). (CVE-2016-6289)
    • Fixed bug #72562 (Use After Free in unserialize() with Unexpected Session Deserialization). (CVE-2016-6290)
    • Fixed bug #72573 (HTTP_PROXY is improperly trusted by some PHP libraries and applications). (CVE-2016-5385)
  • bz2:
    • Fixed bug #72447 (Type Confusion in php_bz2_filter_create()).
    • Fixed bug #72613 (Inadequate error handling in bzread()). (CVE-2016-5399)
  • Date:
    • Fixed bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails parsing).
  • EXIF:
    • Fixed bug #50845 (exif_read_data() returns corrupted exif headers).
    • Fixed bug #72603 (Out of bound read in exif_process_IFD_in_MAKERNOTE). (CVE-2016-6291)
    • Fixed bug #72618 (NULL Pointer Dereference in exif_process_user_comment). (CVE-2016-6292)
  • GD:
    • Fixed bug #43475 (Thick styled lines have scrambled patterns).
    • Fixed bug #53640 (XBM images require width to be multiple of 8).
    • Fixed bug #64641 (imagefilledpolygon doesn't draw horizontal line).
    • Fixed bug #72512 (gdImageTrueColorToPaletteBody allows arbitrary write/read access).
    • Fixed bug #72519 (imagegif/output out-of-bounds access).
    • Fixed bug #72558 (Integer overflow error within _gdContributionsAlloc()). (CVE-2016-6207)
  • Intl:
    • Fixed bug #72533 (locale_accept_from_http out-of-bounds access). (CVE-2016-6294)
  • OpenSSL:
    • Fixed bug #71915 (openssl_random_pseudo_bytes is not fork-safe).
    • Fixed bug #72336 (openssl_pkey_new does not fail for invalid DSA params).
  • SNMP:
    • Fixed bug #72479 (Use After Free Vulnerability in SNMP with GC and unserialize()). (CVE-2016-6295)
  • SPL:
    • Fixed bug #55701 (GlobIterator throws LogicException).
  • SQLite3:
    • Fixed bug #70628 (Clearing bindings on an SQLite3 statement doesn't work).
  • Streams:
    • Fixed bug #72439 (Stream socket with remote address leads to a segmentation fault).
  • Xmlrpc:
    • Fixed bug #72606 (heap-buffer-overflow (write) simplestring_addn simplestring.c). (CVE-2016-6296)
  • Zip:
    • Fixed bug #72520 (Stack-based buffer overflow vulnerability in php_stream_zip_opener). (CVE-2016-6297)

Version 5.6.23

  • Core:
    • Fixed bug #72268 (Integer Overflow in nl2br()).
    • Fixed bug #72275 (Integer Overflow in json_encode()/json_decode()/ json_utf8_to_utf16()).
    • Fixed bug #72400 (Integer Overflow in addcslashes/addslashes).
    • Fixed bug #72403 (Integer Overflow in Length of String-typed ZVAL).
  • Date:
    • Fixed bug #63740 (strtotime seems to use both sunday and monday as start of week).
  • GD:
    • Fixed bug #72298 (pass2_no_dither out-of-bounds access).
    • Fixed bug #72337 (invalid dimensions can lead to crash).
    • Fixed bug #72339 (Integer Overflow in _gd2GetHeader() resulting in heap overflow). (CVE-2016-5766)
    • Fixed bug #72407 (NULL Pointer Dereference at _gdScaleVert).
    • Fixed bug #72446 (Integer Overflow in gdImagePaletteToTrueColor() resulting in heap overflow). (CVE-2016-5767)
  • Intl:
    • Fixed bug #70484 (selectordinal doesn't work with named parameters).
  • mbstring:
    • Fixed bug #72402 (_php_mb_regex_ereg_replace_exec - double free). (CVE-2016-5768)
  • mcrypt:
    • Fixed bug #72455 (Heap Overflow due to integer overflows). (CVE-2016-5769)
  • OpenSSL:
    • Fixed bug #72140 (segfault after calling ERR_free_strings()).
  • Phar:
    • Fixed bug #72321 (invalid free in phar_extract_file()). (CVE-2016-4473)
  • SPL:
    • Fixed bug #72262 (int/size_t confusion in SplFileObject::fread). (CVE-2016-5770)
    • Fixed bug #72433 (Use After Free Vulnerability in PHP's GC algorithm and unserialize). (CVE-2016-5771)
  • WDDX:
    • Fixed bug #72340 (Double Free Courruption in wddx_deserialize). (CVE-2016-5772)
  • zip:
    • Fixed bug #72434 (ZipArchive class Use After Free Vulnerability in PHP's GC algorithm and unserialize). (CVE-2016-5773)

Version 5.6.22

  • Core:
    • Fixed bug #72172 (zend_hex_strtod should not use strlen).
    • Fixed bug #72114 (Integer underflow / arbitrary null write in fread/gzread). (CVE-2016-5096)
    • Fixed bug #72135 (Integer Overflow in php_html_entities). (CVE-2016-5094)
  • GD:
    • Fixed bug #72227 (imagescale out-of-bounds read). (CVE-2013-7456)
  • Intl:
    • Fixed bug #64524 (Add intl.use_exceptions to php.ini-*).
    • Fixed bug #72241 (get_icu_value_internal out-of-bounds read). (CVE-2016-5093)
  • Postgres:
    • Fixed bug #72151 (mysqli_fetch_object changed behaviour). Patch to #71820 is reverted.

Version 5.6.21

  • Core:
    • Fixed bug #69537 (__debugInfo with empty string for key gives error).
    • Fixed bug #71841 (EG(error_zval) is not handled well).
  • BCmath:
    • Fixed bug #72093 (bcpowmod accepts negative scale and corrupts _one_ definition). (CVE-2016-4537, CVE-2016-4538)
  • Curl:
    • Fixed bug #71831 (CURLOPT_NOPROXY applied as long instead of string).
  • Date:
    • Fixed bug #71889 (DateInterval::format Segmentation fault).
  • EXIF:
    • Fixed bug #72094 (Out of bounds heap read access in exif header processing). (CVE-2016-4542, CVE-2016-4543, CVE-2016-4544)
  • GD:
    • Fixed bug #71952 (Corruption inside imageaffinematrixget).
    • Fixed bug #71912 (libgd: signedness vulnerability). (CVE-2016-3074)
  • Intl:
    • Fixed bug #72061 (Out-of-bounds reads in zif_grapheme_stripos with negative offset). (CVE-2016-4540, CVE-2016-4541)
  • OCI8:
    • Fixed bug #71422 (Fix ORA-01438: value larger than specified precision allowed for this column).
  • ODBC:
    • Fixed bug #63171 (Script hangs after max_execution_time).
  • Opcache:
    • Fixed bug #71843 (null ptr deref ZEND_RETURN_SPEC_CONST_HANDLER).
  • PDO:
    • Fixed bug #52098 (Own PDOStatement implementation ignore __call()).
    • Fixed bug #71447 (Quotes inside comments not properly handled).
  • Postgres:
    • Fixed bug #71820 (pg_fetch_object binds parameters before call constructor).
  • SPL:
    • Fixed bug #67582 (Cloned SplObjectStorage with overwritten getHash fails offsetExists()).
  • Standard:
    • Fixed bug #71840 (Unserialize accepts wrongly data).
    • Fixed bug #67512 (php_crypt() crashes if crypt_r() does not exist or _REENTRANT is not defined).
  • XML:
    • Fixed bug #72099 (xml_parse_into_struct segmentation fault). (CVE-2016-4539)

Version 5.6.20

  • CLI Server:
    • Fixed bug #69953 (Support MKCALENDAR request method).
  • Core:
    • Fixed bug #71596 (Segmentation fault on ZTS with date function (setlocale)).
  • Curl:
    • Fixed bug #71694 (Support constant CURLM_ADDED_ALREADY).
  • Date:
    • Fixed bug #71635 (DatePeriod::getEndDate segfault).
  • Fileinfo:
    • Fixed bug #71527 (Buffer over-write in finfo_open with malformed magic file). (CVE-2015-8865)
  • Mbstring:
    • Fixed bug #71906 (AddressSanitizer: negative-size-param (-1) in mbfl_strcut). (CVE-2016-4073)
  • ODBC:
    • Fixed bug #47803, #69526 (Executing prepared statements is succesfull only for the first two statements).
    • Fixed bug #71860 (Invalid memory write in phar on filename with \0 in name). (CVE-2016-4072)
  • PDO_DBlib:
    • Fixed bug #54648 (PDO::MSSQL forces format of datetime fields).
  • Phar:
    • Fixed bug #71625 (Crash in php7.dll with bad phar filename).
    • Fixed bug #71504 (Parsing of tar file with duplicate filenames causes memory leak).
  • SNMP:
    • Fixed bug #71704 (php_snmp_error() Format String Vulnerability). (CVE-2016-4071)
  • Standard:
    • Fixed bug #71798 (Integer Overflow in php_raw_url_encode). (CVE-2016-4070)

Version 5.6.19

  • CLI server:
    • Fixed bug #71559 (Built-in HTTP server, we can download file in web by bug).
  • CURL:
    • Fixed bug #71523 (Copied handle with new option CURLOPT_HTTPHEADER crashes while curl_multi_exec).
  • Date:
    • Fixed bug #68078 (Datetime comparisons ignore microseconds).
    • Fixed bug #71525 (Calls to date_modify will mutate timelib_rel_time, causing date_date_set issues).
  • Fileinfo:
    • Fixed bug #71434 (finfo throws notice for specific python file).
  • FPM:
    • Fixed bug #62172 (FPM not working with Apache httpd 2.4 balancer/fcgi setup).
  • Opcache:
    • Fixed bug #71584 (Possible use-after-free of ZCG(cwd) in Zend Opcache).
  • PDO MySQL:
  • Phar:
    • Fixed bug #71498 (Out-of-Bound Read in phar_parse_zipfile()).
  • Standard:
    • Fixed bug #70720 (strip_tags improper php code parsing).
  • WDDX:
    • Fixed bug #71587 (Use-After-Free / Double-Free in WDDX Deserialize).
  • XSL:
    • Fixed bug #71540 (NULL pointer dereference in xsl_ext_function_php()).
  • Zip:
    • Fixed bug #71561 (NULL pointer dereference in Zip::ExtractTo).

Version 5.6.18

  • Core:
    • Added support for new HTTP 451 code.
    • Fixed bug #71039 (exec functions ignore length but look for NULL termination).
    • Fixed bug #71089 (No check to duplicate zend_extension).
    • Fixed bug #71201 (round() segfault on 64-bit builds).
    • Fixed bug #71273 (A wrong ext directory setup in php.ini leads to crash).
    • Fixed bug #71323 (Output of stream_get_meta_data can be falsified by its input).
    • Fixed bug #71459 (Integer overflow in iptcembed()).
  • Apache2handler:
    • Fix >2G Content-Length headers in apache2handler.
  • FTP:
    • Implemented FR #55651 (Option to ignore the returned FTP PASV address).
  • GD:
    • Improved fix for bug #70976.
  • Opcache:
    • Fixed bug #71127 (Define in auto_prepend_file is overwrite).
    • Fixed bug #71024 (Unable to use PHP 7.0 x64 side-by-side with PHP 5.6 x32 on the same server).
  • PCRE:
    • Upgraded bundled PCRE library to 8.38. (CVE-2015-8383, CVE-2015-8386, CVE-2015-8387, CVE-2015-8389, CVE-2015-8390, CVE-2015-8391, CVE-2015-8393, CVE-2015-8394)
  • Phar:
    • Fixed bug #71354 (Heap corruption in tar/zip/phar parser). (CVE-2016-4342)
    • Fixed bug #71331 (Uninitialized pointer in phar_make_dirstream()). (CVE-2016-4343)
    • Fixed bug #71391 (NULL Pointer Dereference in phar_tar_setupmetadata()).
    • Fixed bug #71488 (Stack overflow when decompressing tar archives). (CVE-2016-2554)
  • Session:
    • Fixed bug #69111 (Crash in SessionHandler::read()).
  • SOAP:
    • Fixed bug #70979 (crash with bad soap request).
  • SPL:
    • Fixed bug #71204 (segfault if clean spl_autoload_funcs while autoloading).
  • WDDX:
    • Fixed bug #71335 (Type Confusion in WDDX Packet Deserialization).

Version 5.6.17

  • Core:
    • Fixed bug #66909 (configure fails utf8_to_mutf7 test).
    • Fixed bug #70958 (Invalid opcode while using ::class as trait method paramater default value).
    • Fixed bug #70957 (self::class can not be resolved with reflection for abstract class).
    • Fixed bug #70944 (try{ } finally{} can create infinite chains of exceptions).
    • Fixed bug #61751 (SAPI build problem on AIX: Undefined symbol: php_register_internal_extensions).
  • FPM:
    • Fixed bug #70755 (fpm_log.c memory leak and buffer overflow). (CVE-2016-5114)
  • GD:
    • Fixed bug #70976 (Memory Read via gdImageRotateInterpolated Array Index Out of Bounds). (CVE-2016-1903)
  • Mysqlnd:
    • Fixed bug #68077 (LOAD DATA LOCAL INFILE / open_basedir restriction).
  • SOAP:
    • Fixed bug #70900 (SoapClient systematic out of memory error).
  • Standard:
    • Fixed bug #70960 (ReflectionFunction for array_unique returns wrong number of parameters).
  • PDO_Firebird:
    • Fixed bug #60052 (Integer returned as a 64bit integer on X64_86).
  • WDDX:
    • Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization).
    • Fixed bug #70741 (Session WDDX Packet Deserialization Type Confusion Vulnerability).
  • XMLRPC:
    • Fixed bug #70728 (Type Confusion Vulnerability in PHP_to_XMLRPC_worker()).

Version 5.6.16

  • Core:
    • Fixed bug #70828 (php-fpm 5.6 with opcache crashes when referencing a non-existent constant).
    • Fixed bug #70748 (Segfault in ini_lex () at Zend/zend_ini_scanner.l).
  • Mysqlnd:
    • Fixed bug #68344 (MySQLi does not provide way to disable peer certificate validation) by introducing MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT connection flag.
  • OCI8:
    • Fixed bug #68298 (OCI int overflow).
  • PDO_DBlib:
    • Fixed bug #69757 (Segmentation fault on nextRowset).
  • SOAP:
    • Fixed bug #70875 (Segmentation fault if wsdl has no targetNamespace attribute).
  • SPL:
    • Fixed bug #70852 (Segfault getting NULL offset of an ArrayObject).

Version 5.6.15

  • Core:
    • Fixed bug #70681 (Segfault when binding $this of internal instance method to null).
    • Fixed bug #70685 (Segfault for getClosure() internal method rebind with invalid $this).
  • Date:
    • Fixed bug #70619 (DateTimeImmutable segfault).
  • Mcrypt:
    • Fixed bug #70625 (mcrypt_encrypt() won't return data when no IV was specified under RC4).
  • Mysqlnd:
    • Fixed bug #70384 (mysqli_real_query():Unknown type 245 sent by the server).
    • Fixed bug #70572 segfault in mysqlnd_connect.
  • Opcache:
    • Fixed bug #70632 (Third one of segfault in gc_remove_from_buffer).
    • Fixed bug #70631 (Another Segfault in gc_remove_from_buffer()).
    • Fixed bug #70601 (Segfault in gc_remove_from_buffer()).
    • Fixed compatibility with Windows 10 (see also #70652).

Version 5.6.14

  • Core:
    • Fixed bug #70370 (Bundled libtool.m4 doesn't handle FreeBSD 10 when building extensions).
  • CLI server:
    • Fixed bug #68291 (404 on urls with '+').
  • DOM:
    • Fixed bug #70001 (Assigning to DOMNode::textContent does additional entity encoding).
  • ldap:
    • Fixed bug #70465 (Bug in ldap_search() modifies LDAP_OPT_TIMELIMIT/DEREF's values). (Tyson Andre).
    • Fixed bug #69574 (ldap timeouts not enforced). (Côme Bernigaud).
  • Mysqlnd:
    • Fixed bug #70456 (mysqlnd doesn't activate TCP keep-alive when connecting to a server).
  • OpenSSL:
    • Fixed bug #55259 (openssl extension does not get the DH parameters from DH key resource).
    • Fixed bug #70395 (Missing ARG_INFO for openssl_seal()).
    • Fixed bug #60632 (openssl_seal fails with AES).
    • Fixed bug #68312 (Lookup for openssl.cnf causes a message box).
  • PDO:
    • Fixed bug #70389 (PDO constructor changes unrelated variables).
  • Phar:
    • Fixed bug #69720 (Null pointer dereference in phar_get_fp_offset()). (CVE-2015-7803)
    • Fixed bug #70433 (Uninitialized pointer in phar_make_dirstream when zip entry filename is "/"). (CVE-2015-7804)
  • Phpdbg:
    • Fix phpdbg_break_next() sometimes not breaking.
  • Standard:
    • Fixed bug #67131 (setcookie() conditional for empty values not met).
  • Streams:
    • Fixed bug #70361 (HTTP stream wrapper doesn't close keep-alive connections).
  • Zip:
    • Fixed bug #70322 (ZipArchive::close() doesn't indicate errors).

Version 5.6.13

  • Core:
    • Fixed bug #69900 (Too long timeout on pipes).
    • Fixed bug #69487 (SAPI may truncate POST data).
    • Fixed bug #70198 (Checking liveness does not work as expected).
    • Fixed bug #70172 (Use After Free Vulnerability in unserialize()). (CVE-2015-6834)
    • Fixed bug #70219 (Use after free vulnerability in session deserializer). (CVE-2015-6835)
  • CLI server:
    • Fixed bug #66606 (Sets HTTP_CONTENT_TYPE but not CONTENT_TYPE).
    • Fixed bug #70264 (CLI server directory traversal).
  • Date:
    • Fixed bug #70266 (DateInterval::__construct.interval_spec is not supposed to be optional).
    • Fixed bug #70277 (new DateTimeZone($foo) is ignoring text after null byte).
  • EXIF:
    • Fixed bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte value of 32 bytes).
  • GMP:
    • Fixed bug #70284 (Use after free vulnerability in unserialize() with GMP).
  • hash:
    • Fixed bug #70312 (HAVAL gives wrong hashes in specific cases).
  • MCrypt:
    • Fixed bug #69833 (mcrypt fd caching not working).
  • Opcache:
    • Fixed bug #70237 (Empty while and do-while segmentation fault with opcode on CLI enabled).
  • PCRE:
    • Fixed bug #70232 (Incorrect bump-along behavior with \K and empty string match).
    • Fixed bug #70345 (Multiple vulnerabilities related to PCRE functions).
  • SOAP:
    • Fixed bug #70388 (SOAP serialize_function_call() type confusion / RCE). (CVE-2015-6836)
  • SPL:
    • Fixed bug #70290 (Null pointer deref (segfault) in spl_autoload via ob_start).
    • Fixed bug #70303 (Incorrect constructor reflection for ArrayObject).
    • Fixed bug #70365 (Use-after-free vulnerability in unserialize() with SplObjectStorage). (CVE-2015-6834)
    • Fixed bug #70366 (Use-after-free vulnerability in unserialize() with SplDoublyLinkedList). (CVE-2015-6834)
  • Standard:
    • Fixed bug #70052 (getimagesize() fails for very large and very small WBMP).
    • Fixed bug #70157 (parse_ini_string() segmentation fault with INI_SCANNER_TYPED).
  • XSLT:
    • Fixed bug #69782 (NULL pointer dereference). (CVE-2015-6837, CVE-2015-6838)
  • ZIP:
    • Fixed bug #70350 (ZipArchive::extractTo allows for directory traversal when creating directories). (CVE-2014-9767)

Version 5.6.12

  • Core:
    • Fixed bug #70012 (Exception lost with nested finally block).
    • Fixed bug #70002 (TS issues with temporary dir handling).
    • Fixed bug #69793 (Remotely triggerable stack exhaustion via recursive method calls).
    • Fixed bug #69892 (Different arrays compare indentical due to integer key truncation).
    • Fixed bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref).
  • CLI server:
    • Fixed bug #69655 (php -S changes MKCALENDAR request method to MKCOL).
    • Fixed bug #64878 (304 responses return Content-Type header).
  • GD:
    • Fixed bug #53156 (imagerectangle problem with point ordering).
    • Fixed bug #66387 (Stack overflow with imagefilltoborder). (CVE-2015-8874)
    • Fixed bug #70102 (imagecreatefromwebm() shifts colors).
    • Fixed bug #66590 (imagewebp() doesn't pad to even length).
    • Fixed bug #66882 (imagerotate by -90 degrees truncates image by 1px).
    • Fixed bug #70064 (imagescale(..., IMG_BICUBIC) leaks memory).
    • Fixed bug #69024 (imagescale segfault with palette based image).
    • Fixed bug #53154 (Zero-height rectangle has whiskers).
    • Fixed bug #67447 (imagecrop() add a black line when cropping).
    • Fixed bug #68714 (copy 'n paste error).
    • Fixed bug #66339 (PHP segfaults in imagexbm).
    • Fixed bug #70047 (gd_info() doesn't report WebP support).
  • ODBC:
    • Fixed bug #69975 (PHP segfaults when accessing nvarchar(max) defined columns). (CVE-2015-8879)
  • OpenSSL:
    • Fixed bug #69882 (OpenSSL error "key values mismatch" after openssl_pkcs12_read with extra cert).
    • Fixed bug #70014 (openssl_random_pseudo_bytes() is not cryptographically secure). (CVE-2015-8867)
  • Phar:
    • Improved fix for bug #69441.
    • Fixed bug #70019 (Files extracted from archive may be placed outside of destination directory). (CVE-2015-6833)
  • SOAP:
    • Fixed bug #70081 (SoapClient info leak / null pointer dereference via multiple type confusions).
  • SPL:
    • Fixed bug #70068 (Dangling pointer in the unserialization of ArrayObject items). (CVE-2015-6832)
    • Fixed bug #70166 (Use After Free Vulnerability in unserialize() with SPLArrayObject). (CVE-2015-6831)
    • Fixed bug #70168 (Use After Free Vulnerability in unserialize() with SplObjectStorage). (CVE-2015-6831)
    • Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList). (CVE-2015-6831)
  • Standard:
    • Fixed bug #70096 (Repeated iptcembed() adds superfluous FF bytes).

Version 5.6.11

  • Core:
    • Fixed bug #69768 (escapeshell*() doesn't cater to !).
    • Fixed bug #69703 (Use __builtin_clzl on PowerPC).
    • Fixed bug #69732 (can induce segmentation fault with basic php code).
    • Fixed bug #69642 (Windows 10 reported as Windows 8).
    • Fixed bug #69551 (parse_ini_file() and parse_ini_string() segmentation fault).
    • Fixed bug #69781 (phpinfo() reports Professional Editions of Windows 7/8/8.1/10 as "Business").
    • Fixed bug #69740 (finally in generator (yield) swallows exception in iteration).
    • Fixed bug #69835 (phpinfo() does not report many Windows SKUs).
    • Fixed bug #69892 (Different arrays compare indentical due to integer key truncation).
    • Fixed bug #69874 (Can't set empty additional_headers for mail()), regression from fix to bug #68776.
  • GD:
    • Fixed bug #61221 (imagegammacorrect function loses alpha channel).
  • GMP:
    • Fixed bug #69803 (gmp_random_range() modifies second parameter if GMP number).
  • Mysqlnd:
    • Fixed bug #69669 (mysqlnd is vulnerable to BACKRONYM). (CVE-2015-3152)
  • PCRE:
    • Fixed bug #53823 (preg_replace: * qualifier on unicode replace garbles the string).
    • Fixed bug #69864 (Segfault in preg_replace_callback).
  • PDO_pgsql:
    • Fixed bug #69752 (PDOStatement::execute() leaks memory with DML Statements when closeCuror() is u).
    • Fixed bug #69362 (PDO-pgsql fails to connect if password contains a leading single quote).
    • Fixed bug #69344 (PDO PgSQL Incorrect binding numeric array with gaps).
  • Phar:
    • Fixed bug #69958 (Segfault in Phar::convertToData on invalid file). (CVE-2015-5589)
    • Fixed bug #69923 (Buffer overflow and stack smashing error in phar_fix_filepath). (CVE-2015-5590)
  • SimpleXML:
    • Refactored the fix for bug #66084 (simplexml_load_string() mangles empty node name).
  • SPL:
    • Fixed bug #69737 (Segfault when SplMinHeap::compare produces fatal error).
    • Fixed bug #67805 (SplFileObject setMaxLineLength).
    • Fixed bug #69970 (Use-after-free vulnerability in spl_recursive_it_move_forward_ex()).
  • Sqlite3:
    • Fixed bug #69972 (Use-after-free vulnerability in sqlite3SafetyCheckSickOrOk()).

Version 5.6.10

  • Core:
    • Fixed bug #66048 (temp. directory is cached during multiple requests).
    • Fixed bug #69566 (Conditional jump or move depends on uninitialised value in extension trait).
    • Fixed bug #69599 (Strange generator+exception+variadic crash).
    • Fixed bug #69628 (complex GLOB_BRACE fails on Windows).
    • Fixed POST data processing slowdown due to small input buffer size on Windows.
    • Fixed bug #69646 (OS command injection vulnerability in escapeshellarg). (CVE-2015-4642)
    • Fixed bug #69719 (Incorrect handling of paths with NULs). (CVE-2015-4598)
  • FTP:
    • Improved fix for bug #69545 (Integer overflow in ftp_genlist() resulting in heap overflow). (CVE-2015-4643)
  • GD:
    • Fixed bug #69479 (GD fails to build with newer libvpx).
  • Iconv:
    • Fixed bug #48147 (iconv with //IGNORE cuts the string).
  • Litespeed SAPI:
    • Fixed bug #68812 (Unchecked return value).
  • Mail:
    • Fixed bug #68776 (mail() does not have mail header injection prevention for additional headers).
  • MCrypt:
    • Added file descriptor caching to mcrypt_create_iv().
  • Opcache:
    • Fixed bug #69549 (Memory leak with opcache.optimization_level=0xFFFFFFFF).
  • Phar:
    • Fixed bug #69680 (phar symlink in binary directory broken).
  • Postgres:
    • Fixed bug #69667 (segfault in php_pgsql_meta_data). (CVE-2015-4644)
  • Sqlite3:
    • Upgrade bundled sqlite to 3.8.10.2. (CVE-2015-3414, CVE-2015-3415, CVE-2015-3416)

Version 5.6.9

  • Core:
    • Fixed bug #69467 (Wrong checked for the interface by using Trait).
    • Fixed bug #69420 (Invalid read in zend_std_get_method).
    • Fixed bug #60022 ("use statement [...] has no effect" depends on leading backslash).
    • Fixed bug #67314 (Segmentation fault in gc_remove_zval_from_buffer).
    • Fixed bug #68652 (segmentation fault in destructor).
    • Fixed bug #69419 (Returning compatible sub generator produces a warning).
    • Fixed bug #69472 (php_sys_readlink ignores misc errors from GetFinalPathNameByHandleA).
    • Fixed bug #69364 (PHP Multipart/form-data remote dos Vulnerability). (CVE-2015-4024)
    • Fixed bug #69403 (str_repeat() sign mismatch based memory corruption).
    • Fixed bug #69418 (CVE-2006-7243 fix regressions in 5.4+). (CVE-2015-4025)
    • Fixed bug #69522 (heap buffer overflow in unpack()).
  • FTP:
    • Fixed bug #69545 (Integer overflow in ftp_genlist() resulting in heap overflow). (CVE-2015-4022)
  • ODBC:
    • Fixed bug #69354 (Incorrect use of SQLColAttributes with ODBC 3.0).
    • Fixed bug #69474 (ODBC: Query with same field name from two tables returns incorrect result).
    • Fixed bug #69381 (out of memory with sage odbc driver).
  • OpenSSL:
    • Fixed bug #69402 (Reading empty SSL stream hangs until timeout).
  • PCNTL:
    • Fixed bug #68598 (pcntl_exec() should not allow null char). (CVE-2015-4026)
  • PCRE:
    • Upgraded pcrelib to 8.37. (CVE-2015-2325, CVE-2015-2326)
  • Phar:
    • Fixed bug #69453 (Memory Corruption in phar_parse_tarfile when entry filename starts with null). (CVE-2015-4021)

Version 5.6.8

  • Core:
    • Fixed bug #66609 (php crashes with __get() and ++ operator in some cases).
    • Fixed bug #68021 (get_browser() browser_name_regex returns non-utf-8 characters).
    • Fixed bug #68917 (parse_url fails on some partial urls).
    • Fixed bug #69134 (Per Directory Values overrides PHP_INI_SYSTEM configuration options).
    • Additional fix for bug #69152 (Type confusion vulnerability in exception::getTraceAsString).
    • Fixed bug #69210 (serialize function return corrupted data when sleep has non-string values).
    • Fixed bug #69212 (Leaking VIA_HANDLER func when exception thrown in __call/... arg passing).
    • Fixed bug #69221 (Segmentation fault when using a generator in combination with an Iterator).
    • Fixed bug #69337 (php_stream_url_wrap_http_ex() type-confusion vulnerability).
    • Fixed bug #69353 (Missing null byte checks for paths in various PHP extensions). (CVE-2015-3411, CVE-2015-3412)
  • Apache2handler:
    • Fixed bug #69218 (potential remote code execution with apache 2.4 apache2handler). (CVE-2015-3330)
  • cURL:
    • Implemented FR #69278 (HTTP2 support).
    • Fixed bug #68739 (Missing break / control flow).
    • Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER).
  • Date:
    • Fixed bug #69336 (Issues with "last day of <monthname>").
  • Enchant:
    • Fixed bug #65406 (Enchant broker plugins are in the wrong place in windows builds).
  • Ereg:
    • Fixed bug #68740 (NULL Pointer Dereference).
  • Fileinfo:
    • Fixed bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault). (CVE-2015-4604, CVE-2015-4605)
  • Filter:
    • Fixed bug #69202 (FILTER_FLAG_STRIP_BACKTICK ignored unless other flags are used).
    • Fixed bug #69203 (FILTER_FLAG_STRIP_HIGH doesn't strip ASCII 127).
  • Mbstring:
    • Fixed bug #68846 (False detection of CJK Unified Ideographs Extension E).
  • OPCache:
    • Fixed bug #69297 (function_exists strange behavior with OPCache on disabled function).
    • Fixed bug #69281 (opcache_is_script_cached no longer works).
    • Fixed bug #68677 (Use After Free). (CVE-2015-1351)
  • OpenSSL:
    • Fixed bug #68853, #65137 (Buffered crypto stream data breaks IO polling in stream_select() contexts).
    • Fixed bug #69197 (openssl_pkcs7_sign handles default value incorrectly).
    • Fixed bug #69215 (Crypto servers should send client CA list).
    • Add a check for RAND_egd to allow compiling against LibreSSL.
  • Phar:
    • Fixed bug #64343 (PharData::extractTo fails for tarball created by BSD tar).
    • Fixed bug #64931 (phar_add_file is too restrictive on filename).
    • Fixed bug #65467 (Call to undefined method cli_arg_typ_string).
    • Fixed bug #67761 (Phar::mapPhar fails for Phars inside a path containing ".tar").
    • Fixed bug #69324 (Buffer Over-read in unserialize when parsing Phar). (CVE-2015-2783, CVE-2015-3307)
    • Fixed bug #69441 (Buffer Overflow when parsing tar/zip/phar in phar_set_inode). (CVE-2015-3329)
  • Postgres:
    • Fixed bug #68741 (Null pointer dereference). (CVE-2015-1352)
  • SOAP:
    • Fixed bug #69152 (Type Confusion Infoleak Vulnerability in unserialize() with SoapFault). (CVE-2015-4599)
    • Fixed bug #69293 (NEW segfault when using SoapClient::__setSoapHeader (bisected, regression)).
  • SPL:
    • Fixed bug #69227 (Use after free in zval_scan caused by spl_object_storage_get_gc).
  • Sqlite3:
    • Fixed bug #68760 (SQLITE segfaults if custom collator throws an exception).
    • Fixed bug #69287 (Upgrade bundled libsqlite to 3.8.8.3).
    • Fixed bug #66550 (SQLite prepared statement use-after-free).

Version 5.6.7

  • Core:
    • Fixed bug #69174 (leaks when unused inner class use traits precedence).
    • Fixed bug #69139 (Crash in gc_zval_possible_root on unserialize).
    • Fixed bug #69121 (Segfault in get_current_user when script owner is not in passwd with ZTS build).
    • Fixed bug #65593 (Segfault when calling ob_start from output buffering callback).
    • Fixed bug #68986 (pointer returned by php_stream_fopen_temporary_file not validated in memory.c).
    • Fixed bug #68166 (Exception with invalid character causes segv).
    • Fixed bug #69141 (Missing arguments in reflection info for some builtin functions).
    • Fixed bug #68976 (Use After Free Vulnerability in unserialize()). (CVE-2015-2787)
    • Fixed bug #69134 (Per Directory Values overrides PHP_INI_SYSTEM configuration options).
    • Fixed bug #69207 (move_uploaded_file allows nulls in path). (CVE-2015-2348)
  • CGI:
    • Fixed bug #69015 (php-cgi's getopt does not see $argv).
  • CLI:
    • Fixed bug #67741 (auto_prepend_file messes up __LINE__).
  • cURL:
    • Fixed bug #69088 (PHP_MINIT_FUNCTION does not fully initialize cURL on Win32).
    • Add CURLPROXY_SOCKS4A and CURLPROXY_SOCKS5_HOSTNAME constants if supported by libcurl.
  • Ereg:
    • Fixed bug #69248 (heap overflow vulnerability in regcomp.c). (CVE-2015-2305)
  • FPM:
    • Fixed bug #68822 (request time is reset too early).
  • ODBC:
    • Fixed bug #68964 (Allowed memory size exhausted with odbc_exec).
  • Opcache:
    • Fixed bug #69159 (Opcache causes problem when passing a variable variable to a function).
    • Fixed bug #69125 (Array numeric string as key).
    • Fixed bug #69038 (switch(SOMECONSTANT) misbehaves).
  • OpenSSL:
    • Fixed bug #68912 (Segmentation fault at openssl_spki_new).
    • Fixed bug #61285, #68329, #68046, #41631 (encrypted streams don't observe socket timeouts).
    • Fixed bug #68920 (use strict peer_fingerprint input checks) (Daniel Lowrey)
    • Fixed bug #68879 (IP Address fields in subjectAltNames not used) (Daniel Lowrey)
    • Fixed bug #68265 (SAN match fails with trailing DNS dot) (Daniel Lowrey)
    • Fixed bug #67403 (Add signatureType to openssl_x509_parse) (Daniel Lowrey)
    • Fixed bug #69195 (Inconsistent stream crypto values across versions) (Daniel Lowrey)
  • pgsql:
    • Fixed bug #68638 (pg_update() fails to store infinite values).
  • Readline:
    • Fixed bug #69054 (Null dereference in readline_(read|write)_history() without parameters).
  • SOAP:
    • Fixed bug #69085 (SoapClient's __call() type confusion through unserialize()). (CVE-2015-4147, CVE-2015-4148)
  • SPL:
    • Fixed bug #69108 ("Segmentation fault" when (de)serializing SplObjectStorage).
    • Fixed bug #68557 (RecursiveDirectoryIterator::seek(0) broken after calling getChildren()).
  • ZIP:
    • Fixed bug #69253 (ZIP Integer Overflow leads to writing past heap boundary). (CVE-2015-2331)

Version 5.6.6

  • Core:
    • Removed support for multi-line headers, as they are deprecated by RFC 7230.
    • Fixed bug #67068 (getClosure returns somethings that's not a closure).
    • Fixed bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone). (CVE-2015-0273)
    • Fixed bug #68925 (Mitigation for CVE-2015-0235 – GHOST: glibc gethostbyname buffer overflow).
    • Fixed bug #67988 (htmlspecialchars() does not respect default_charset specified by ini_set).
    • Added NULL byte protection to exec, system and passthru.
  • Dba:
    • Fixed bug #68711 (useless comparisons).
  • Enchant:
    • Fixed bug #68552 (heap buffer overflow in enchant_broker_request_dict()). (CVE-2014-9705)
  • Fileinfo:
    • Fixed bug #68827 (Double free with disabled ZMM).
    • Fixed bug #67647 (Bundled libmagic 5.17 does not detect quicktime files correctly).
    • Fixed bug #68731 (finfo_buffer doesn't extract the correct mime with some gifs).
  • FPM:
    • Fixed bug #66479 (Wrong response to FCGI_GET_VALUES).
    • Fixed bug #68571 (core dump when webserver close the socket).
  • JSON:
    • Fixed bug #50224 (json_encode() does not always encode a float as a float) by adding JSON_PRESERVE_ZERO_FRACTION.
  • LIBXML:
    • Fixed bug #64938 (libxml_disable_entity_loader setting is shared between threads). (CVE-2015-8866)
  • Mysqli:
    • Fixed bug #68114 (linker error on some OS X machines with fixed width decimal support).
    • Fixed bug #68657 (Reading 4 byte floats with Mysqli and libmysqlclient has rounding errors).
  • Opcache:
    • Fixed bug with try blocks being removed when extended_info opcode generation is turned on.
  • PDO_mysql:
    • Fixed bug #68750 (PDOMysql with mysqlnd does not allow the usage of named pipes).
  • Phar:
    • Fixed bug #68901 (use after free). (CVE-2015-2301)
  • Pgsql:
    • Fixed bug #65199 (pg_copy_from() modifies input array variable).
  • Session:
    • Fixed bug #68941 (mod_files.sh is a bash-script).
    • Fixed bug #66623 (no EINTR check on flock).
    • Fixed bug #68063 (Empty session IDs do still start sessions).
  • Sqlite3:
    • Fixed bug #68260 (SQLite3Result::fetchArray declares wrong required_num_args).
  • Standard:
    • Fixed bug #65272 (flock() out parameter not set correctly in windows).
    • Fixed bug #69033 (Request may get env. variables from previous requests if PHP works as FastCGI).
  • Streams:
    • Fixed bug which caused call after final close on streams filter.

Version 5.6.5

  • Core:
    • Upgraded crypt_blowfish to version 1.3.
    • Fixed bug #60704 (unlink() bug with some files path).
    • Fixed bug #65419 (Inside trait, self::class != __CLASS__).
    • Fixed bug #68536 (pack for 64bits integer is broken on bigendian).
    • Fixed bug #55541 (errors spawn MessageBox, which blocks test automation).
    • Fixed bug #68297 (Application Popup provides too few information).
    • Fixed bug #65769 (localeconv() broken in TS builds).
    • Fixed bug #65230 (setting locale randomly broken).
    • Fixed bug #66764 (configure doesn't define EXPANDED_DATADIR / PHP_DATADIR correctly).
    • Fixed bug #68583 (Crash in timeout thread).
    • Fixed bug #65576 (Constructor from trait conflicts with inherited constructor).
    • Fixed bug #68676 (Explicit Double Free). (CVE-2014-9425)
    • Fixed bug #68710 (Use After Free Vulnerability in PHP's unserialize()). (CVE-2015-0231)
  • CGI:
    • Fixed bug #68618 (out of bounds read crashes php-cgi). (CVE-2014-9427)
  • CLI server:
    • Fixed bug #68745 (Invalid HTTP requests make web server segfault).
  • cURL:
    • Fixed bug #67643 (curl_multi_getcontent returns '' when CURLOPT_RETURNTRANSFER isn't set).
  • Date:
    • Implemented FR #68268 (DatePeriod: Getter for start date, end date and interval).
  • EXIF:
    • Fixed bug #68799 (Free called on uninitialized pointer). (CVE-2015-0232)
  • Fileinfo:
    • Fixed bug #68398 (msooxml matches too many archives).
    • Fixed bug #68665 (invalid free in libmagic).
    • Fixed bug #68671 (incorrect expression in libmagic).
    • Removed readelf.c and related code from libmagic sources.
    • Fixed bug #68735 (fileinfo out-of-bounds memory access). (CVE-2014-9652)
  • FPM:
    • Implemented FR #68526 (Implement POSIX Access Control List for UDS).
    • Fixed bug #68751 (listen.allowed_clients is broken).
  • GD:
    • Fixed bug #68601 (buffer read overflow in gd_gif_in.c). (CVE-2014-9709)
    • Implemented FR #68656 (Report gd library version).
  • mbstring:
    • Fixed bug #68504 (--with-libmbfl configure option not present on Windows).
  • Opcache:
    • Fixed bug #68644 (strlen incorrect : mbstring + func_overload=2 +UTF-8 + Opcache).
    • Fixed bug #67111 (Memory leak when using "continue 2" inside two foreach loops).
  • OpenSSL:
    • Improved handling of OPENSSL_KEYTYPE_EC keys.
  • pcntl:
    • Fixed bug #60509 (pcntl_signal doesn't decrease ref-count of old handler when setting SIG_DFL).
  • PCRE:
    • Fixed bug #66679 (Alignment Bug in PCRE 8.34 upstream).
  • pgsql:
    • Fixed bug #68697 (lo_export return -1 on failure).
  • PDO:
    • Fixed bug #68371 (PDO#getAttribute() cannot be called with platform-specifi attribute names).
  • PDO_mysql:
    • Fixed bug #68424 (Add new PDO mysql connection attr to control multi statements option).
  • SPL:
    • Fixed bug #66405 (RecursiveDirectoryIterator::CURRENT_AS_PATHNAME breaks the RecursiveIterator).
    • Fixed bug #68479 (Added escape parameter to SplFileObject::fputcsv).
  • SQLite:
    • Fixed bug #68120 (Update bundled libsqlite to 3.8.7.2).
  • Streams:
    • Fixed bug #68532 (convert.base64-encode omits padding bytes).

Version 5.6.4

  • Core:
    • Fixed bug #68091 (Some Zend headers lack appropriate extern "C" blocks).
    • Fixed bug #68104 (Segfault while pre-evaluating a disabled function).
    • Fixed bug #68185 ("Inconsistent insteadof definition."- incorrectly triggered).
    • Fixed bug #68355 (Inconsistency in example php.ini comments).
    • Fixed bug #68370 ("unset($this)" can make the program crash).
    • Fixed bug #68422 (Incorrect argument reflection info for array_multisort()).
    • Fixed bug #68545 (NULL pointer dereference in unserialize.c).
    • Fixed bug #68446 (Array constant not accepted for array parameter default).
    • Fixed bug #68594 (Use after free vulnerability in unserialize()). (CVE-2014-8142)
  • Date:
    • Fixed day_of_week function as it could sometimes return negative values internally.
  • FPM:
    • Fixed bug #68381 (fpm_unix_init_main ignores log_level).
    • Fixed bug #68420 (listen=9000 listens to ipv6 localhost instead of all addresses).
    • Fixed bug #68421 (access.format='%R' doesn't log ipv6 address).
    • Fixed bug #68423 (PHP-FPM will no longer load all pools).
    • Fixed bug #68428 (listen.allowed_clients is IPv4 only).
    • Fixed bug #68452 (php-fpm man page is oudated).
    • Implemented FR #68458 (Change pm.start_servers default warning to notice).
    • Fixed bug #68463 (listen.allowed_clients can silently result in no allowed access).
    • Implemented FR #68391 (php-fpm conf files loading order).
    • Fixed bug #68478 (access.log don't use prefix).
  • Mcrypt:
    • Fixed possible read after end of buffer and use after free.
  • GMP:
    • Fixed bug #68419 (build error with gmp 4.1).
  • PDO_pgsql:
    • Fixed bug #67462 (PDO_PGSQL::beginTransaction() wrongly throws exception when not in transaction).
    • Fixed bug #68351 (PDO::PARAM_BOOL and ATTR_EMULATE_PREPARES misbehaving).
  • Session:
    • Fixed bug #68331 (Session custom storage callable functions not being called).
  • SOAP:
    • Fixed bug #68361 (Segmentation fault on SoapClient::__getTypes).
  • zlib:
    • Fixed bug #53829 (Compiling PHP with large file support will replace function gzopen by gzopen64).

Version 5.6.3

  • Core:
    • Implemented 64-bit format codes for pack() and unpack().
    • Fixed bug #51800 (proc_open on Windows hangs forever).
    • Fixed bug #67633 (A foreach on an array returned from a function not doing copy-on-write).
    • Fixed bug #67739 (Windows 8.1/Server 2012 R2 OS build number reported as 6.2 (instead of 6.3)).
    • Fixed bug #67949 (DOMNodeList elements should be accessible through array notation).
    • Fixed bug #68095 (AddressSanitizer reports a heap buffer overflow in php_getopt()).
    • Fixed bug #68118 ($a->foo .= 'test'; can leave $a->foo undefined).
    • Fixed bug #68129 (parse_url() - incomplete support for empty usernames and passwords).
    • Fixed bug #68365 (zend_mm_heap corrupted after memory overflow in zend_hash_copy).
  • CURL:
    • Add CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, and CURL_SSLVERSION_TLSv1_2 constants if supported by libcurl.
  • Fileinfo:
    • Fixed bug #66242 (libmagic: don't assume char is signed).
    • Fixed bug #68224 (buffer-overflow in libmagic/readcdf.c caught by AddressSanitizer).
    • Fixed bug #68283 (fileinfo: out-of-bounds read in elf note headers). (CVE-2014-3710)
  • FPM:
    • Fixed bug #65641 (PHP-FPM incorrectly defines the SCRIPT_NAME variable when using Apache, mod_proxy-fcgi and ProxyPass).
    • Implemented FR #55508 (listen and listen.allowed_clients should take IPv6 addresses).
  • GD:
    • Fixed bug #65171 (imagescale() fails without height param).
  • GMP:
    • Implemented gmp_random_range() and gmp_random_bits().
    • Fixed bug #63595 (GMP memory management conflicts with other libraries using GMP).
  • Mysqli:
    • Fixed bug #68114 (linker error on some OS X machines with fixed width decimal support).
  • ODBC:
    • Fixed bug #68087 (ODBC not correctly reading DATE column when preceded by a VARCHAR column).
  • OpenSSL:
    • Fixed bug #68074 (Allow to use system cipher list instead of hardcoded value).
  • PDO_pgsql:
    • Fixed bug #68199 (PDO::pgsqlGetNotify doesn't support NOTIFY payloads).
    • Fixed bug #66584 (Segmentation fault on statement deallocation).
  • Reflection:
    • Fixed bug #68103 (Duplicate entry in Reflection for class alias).
  • SPL:
    • Fixed bug #68128 (Regression in RecursiveRegexIterator).

Version 5.6.2

  • Core:
    • Fixed bug #68044 (Integer overflow in unserialize() (32-bits only)). (CVE-2014-3669)
  • cURL:
    • Fixed bug #68089 (NULL byte injection - cURL lib).
  • EXIF:
    • Fixed bug