Release Notes for Version 6.2.4

Note: This product has been discontinued. Technical Guidance ends July 15th 2018.

(based on Apache HTTP Server 2.4.27)

What’s in the Release Notes

These release notes cover the following topics:

Important Support Lifecycle Announcements

All users must note the End of Availability of the Pivotal Web Server product, effective March 1st, 2015. General Support for the Pivotal Web Server releases 5.5 and 6.2 ended on July 15, 2017. Users of previous vFabric Web Server and Pivotal Web Server releases are strongly encouraged to update to the final 6.2.4 release for security fixes.

Note that July 15, 2017 also marked the End of General Support for open source Apache HTTP Server version 2.2. No further 2.2 series releases will occur. All customers seeking ongoing support for open source Apache HTTP Server must migrate to version 2.4 to receive General Support. Only Technical Guidance is available for version 2.2 and will cease on July 15, 2018.

Refer to https://d1fto35gcfffzn.cloudfront.net/support/PivotalLifecycleMatrix.pdf for Pivotal product lifecycle policy and details.

Important Notice for Microsoft Windows Users

With the launch of the Pivotal Web Server 6.2.0 product, the x86-windows and x64-windows packages are now built using Visual C++ 19.0, a component of Microsoft Visual Studio 2015 Update 1. There are two immediate impacts on Windows Users upgrading to this latest release:

  1. Users on Windows 7, 8 or 8.1, or on Windows Server 2008 or 2012, must obtain and install the Microsoft Update for Universal C Runtime in Windows (also distributed with the Visual C++ Redistributable for Visual Studio 2015) from Microsoft; https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows - and be certain to observe the prerequisites noted for that package. Installing this x86 or x64 package (as applicable) from Microsoft ensures that the runtime is updated by the Windows Update service for any new security vulnerabilities of the C Runtime itself. Windows 10 and Windows Server 2016 users do not need to obtain this package, as this is a core component of these operating systems.
  2. Users who have provisioned third-party modules in Pivotal Web Server 6.1.0 or earlier should consider rebuilding these modules for this new release 6.2.4 under the Visual Studio 2015 Update 1 product. This ensures that any resources allocated from the C Runtime by the module and consumed by the server or core modules (or vice versa) will not subject the server to possible crash-bugs. It will also make a significant difference in the resources consumed by the running server because each module loaded into the server that was linked to a different, earlier C Runtime causes each of these different C Runtimes to be loaded in process at once. The corresponding pivotal-web-server-devel packages include the apxs.bat script which simplifies the process of compiling modules.

Experimental HTTP/2 Protocol Support Included

This release introduces the mod_proxy_http2.so module, a proxy which establishes HTTP/2 connections to backend servers, and includes mod_http2.so, a protocol module that enables HTTP/2 connections to the deployed PWS instance. These are still beta/experimental features of Pivotal Web Server, and leverage the latest nghttp2 library to provide protocol compliance. These features should not be used for production environments unless they are carefully tested in the specific deployment scenario desired, with the ability to disable them in production and revert to classic HTTP/1.1 support. The mod_http2 and mod_proxy_http2 modules are provided for your testing and evaluation. While these are not covered under Premium Support [1] production SLA, we do encourage you to test them and file any issues you encounter with Pivotal technical support. Issues with these modules will be treated as Developer Support [1] issues with regards to response time.

For detailed information on these modules, refer to:

SSL Encryption and mod_ssl Configuration

This release includes the updated default configuration and hardening recommendations originally shipped with Pivotal Web Server release 6.1.0. The default extra/httpd-ssl.conf configuration improves the robustness of SSL/TLS cryptography. Users should review existing instances to ensure that mod_ssl features including SSLProtocol and SSLCipherList meet or exceed modern guidance. It may be especially helpful to use the instance’s certificate expiration dates to trigger a periodic review of these configurations, as guidance continues to evolve as end-users update their browsers and other clients to more modern TLS capabilities.

This release includes a modification to the default certificate creation in the ./newserver instance creation utility. This tool will now identify the certificate with a SHA256 hash (rather than SHA1) and will now encrypt a copy of the certificate using AES256 (rather than DES). This change anticipates the complete deprecation of SHA1 certificate hashes in the internet ecosystem by the end of 2016, in alignment with all major browser and service providers.

Update to mod_bmx

The Pivotal Web Server 6.2.0 release included a new update of the mod_bmx modules. If upgrading from earlier versions, users are cautioned to purge old bmx data collection files, bmx_vhost.db.dir and bmx_vhost.db.pag in each server instance logs/ directories. By default, the new mod_bmx_vhost will name these files as bmx_vhost1.db.* in order to prevent such collisions, but any user overriding the BMXVHostDBMFilename must rename or purge their vhost summary collection files after upgrading to PWS 6.2.4, prior to restarting the server instances. Unintelligible summaries and even server segfaults may result from using the old format vhost summary files.

Hyperic Monitoring

Since the release of 6.1.0, the default instance leaves the mod_bmx modules not-loaded and commented out. There is a performance impact, specifically in collecting the mod_bmx_vhost summaries, and these modules should only be loaded if this data is queried. Users requiring bmx monitoring, such as for the Web Server plug-in to Hyperic, may install new instances using one of three methods:

  1. Use two additional –subst flags to override the default, and load mod_bmx modules for monitoring at initial startup:

    ./newserver --subst "#LoadModule bmx=LoadModule bmx" \
    --subst "#Include conf/extra/httpd-info=Include conf/extra/httpd-info" [...]
    
  2. To enable mod_bmx for all new instances, uncomment these lines in the deployed product httpd-2.4/_instance/conf/httpd.conf template file, prior to invoking ./newserver.

  3. Simply modify each desired instance’s {instance}/conf/httpd.conf file after invoking ./newserver to uncomment these lines, prior to starting the server instance.

Custom Module Deployment

The Pivotal Web Server 6.2.0 release provides the opportunity to update and introduce several subcomponents, which may introduce a possibility of incompatibility issues for users who have extended the product with their own modules that are built upon these subcomponents. This specifically includes an update from OpenSSL 1.0.1 to version 1.0.2, and the introduction of Nghttp2 to support mod_http2.

The 6.2.1 release dropped all support of SSLv2 ciphers and protocol; these are no longer compiled into the distributed openssl library component. Third party components compiled against the openssl component of an earlier PWS release may need to be recompiled if load-time errors are encountered. The 6.2.0 release httpd mod_ssl build had already dropped all references to SSLv2, so this change is for completeness as strongly recommended by the OpenSSL Project.

We encourage users who have compiled their own or third-party modules (apart from modules distributed with Pivotal Web Server) to carefully review their modules’ dependencies, and test their functionality before moving these into production on 6.2.1 or later. Most modules with no direct dependencies on these subcomponents should remain compatible between modules built for PWS 6.0 or 6.1 and this 6.2.4 release. Note that modules compiled for PWS 5.x are not binary compatible with PWS 6.x releases, these modules must be recompiled, and in some cases, ported to httpd 2.4-specific APIs.

The previous 6.0.x release -devel- packages for building add-on modules have been streamlined in 6.1.0 and later to flatten the development package build/ and include/ trees, avoiding many extraneous build-1/, apr-1/ and libxml2/ subdirectory structures. Custom module build makefiles may need to be adjusted accordingly to build against the new -devel- package structure. Module builds that rely upon apxs, {component}-config scripts or pkginfo should not be affected.

Pivotal Web Server 6.2.4 Components Updated

The following components were updated since the 6.2.0 release:

  • Apache HTTP Server 2.4.27
  • Apache APR library 1.6.2
  • Apache APR-util library 1.6.0
  • Apache Tomcat mod_jk connector 1.2.42
  • Apache Tomcat tcnative connector 1.2.12
  • Expat 2.2.1
  • libxml2 2.9.4
  • nghttp2 1.24.0
  • OpenSSL 1.0.2l
  • PCRE 8.41
  • zlib 1.2.11

Pivotal Web Server 6.2.4 Security Issues Addressed

Apache HTTP Web Server

The following vulnerabilites are addressed since the previous Pivotal Web Server 6.2.3 release:

  • CVE-2017-9788 modauthdigest: Uninitialized memory reflection
  • CVE-2017-7679 mod_mime: one byte overread by malicious response headers
  • CVE-2017-7668 core: unbounded token list parsing
  • CVE-2017-7659 mod_http2: NULL pointer dereference from malicious request
  • CVE-2017-3169 mod_ssl: NULL pointer dereference by third-party modules
  • CVE-2017-3167 auth: authentication bypass by third-party modules

Refer to https://httpd.apache.org/security/vulnerabilities_24.html for all security vulnerabilities addressed since release 2.4.18, shipped with Pivotal Web Server 6.2.0.

Apache Tomcat mod_jk Connector

No vulnerabilites are addressed since release 1.2.41, shipped with Pivotal Web Server 6.2.0.

Refer to https://tomcat.apache.org/connectors-doc/miscellaneous/changelog.html for previous security vulnerabilities.

Apache Tomcat tcnative Connector

No vulnerabilites are addressed since release 1.2.3, shipped with Pivotal Web Server 6.2.0.

Refer to https://tomcat.apache.org/native-doc/miscellaneous/changelog.html for previous security vulnerabilities.

Apache APR Library

No vulnerabilites are addressed since release 1.5.2, shipped with Pivotal Web Server 6.2.0.

Refer to http://www.apache.org/dist/apr/CHANGES-APR-1.6 for previous security vulnerabilities.

Apache APR-util Library

No vulnerabilites are addressed since release 1.5.2, shipped with Pivotal Web Server 6.2.0.

Refer to http://www.apache.org/dist/apr/CHANGES-APR-UTIL-1.6 for previous security vulnerabilities.

Expat Library

The following vulnerabilites are addressed since the previous Pivotal Web Server 6.2.3 release:

  • CVE-2017-9233: External entity infinite loop DoS
  • CVE-2016-9063: Detect integer overflow
  • CVE-2016-5300: Additional enhancements for higher quality entropy

Refer to https://sourceforge.net/p/expat/code_git/ci/R_2_2_1/tree/expat/Changes for all security vulnerabilities addressed since release 2.1.0, shipped with Pivotal Web Server 6.2.0.

nghttp2 Library

Refer to https://github.com/nghttp2/nghttp2/releases for all security vulnerabilities addressed since release 1.5.0 shipped with Pivotal Web Server 6.2.0, or addressed since release 1.18.0 shipped with the previous Pivotal Web Server 6.2.3 maintenance release.

This project does not track security fixes independent of bug fixes. The combination of nghttp2 library and modhttp2 or modproxy_http2 in Pivotal Web Server is experimental, as noted above in this release note.

OpenSSL Library

The following vulnerabilites are addressed since the previous Pivotal Web Server 6.2.3 release:

  • CVE-2017-3732: carry propagating bug in x86_64 Montgomery squaring
  • CVE-2017-3731: out-of-bounds read in truncated RC4-MD5 packet
  • CVE-2016-7055: carry bug in Broadwell-specific Montgomery squaring

Refer to https://www.openssl.org/news/vulnerabilities.html for all security vulnerabilities addressed since release 1.0.2e, shipped with Pivotal Web Server 6.2.0.

PCRE Library

The following vulnerabilites are addressed since the previous Pivotal Web Server 6.2.3 release:

  • CVE-2017-7246 Stack-based buffer overflow in pcre32copysubstring
  • CVE-2017-7245 Stack-based buffer overflow in pcre32copysubstring
  • CVE-2017-6004 out-of-bounds read in compilebracketmatchingpath

Refer to http://www.pcre.org/original/changelog.txt for all security vulnerabilities addressed since release 8.38, shipped with Pivotal Web Server 6.2.0.

zlib Library

The following vulnerabilites are addressed since the previous Pivotal Web Server 6.2.3 release:

CVE-2016-9843 crc32_big function big-endian CRC calculation defect CVE-2016-9842 inflateMark function left shifts of negative integers defect CVE-2016-9841 improper pointer arithmetic in inffast.c CVE-2016-9840 improper pointer arithmetic in inftrees.c

Refer to http://www.zlib.net/ChangeLog.txt for all security vulnerabilities addressed since release 1.2.8, shipped with Pivotal Web Server 6.2.0.