Release Notes for Version 6.2.2

(based on Apache HTTP Server 2.4.22)

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, 6.1 and 6.2 ends on July 15, 2017. Users of previous vFabric Web Server and Pivotal Web Server releases are strongly encouraged to update to this current release promptly.

Note that July 15, 2017 also marks the End of General Support for open source Apache HTTP Server version 2.2. All customers seeking ongoing support for Apache HTTP Server must migrate to version 2.4 by this date to continue receiving General Support. Only Technical Guidance will be available for version 2.2 after July 15, 2017 and will cease on July 15, 2018.

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; - 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.2 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 module, a proxy which establishes HTTP/2 connections to backend servers, and includes, 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.2, 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.2 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.2 Components Updated

  • Apache HTTP Server 2.4.22
  • Expat 2.2.0
  • PCRE 8.39
  • LibXML2 2.9.4
  • nghttp2 1.12.0
  • Apache Tomcat tcnative connector 1.2.7

Notice: An earlier version of this document incorrectly identified the Apache HTTP Server component release as 2.4.23. This Pivotal Web Server 6.2.2 incorporated the Apache HTTP Server tag 2.4.22.

Pivotal Web Server 6.2.2 Security Issues Addressed

Apache HTTP Web Server

CVE-2016-4979: TLS/SSL X.509 client certificate auth bypass with HTTP/2 [important]
For configurations enabling experimental support for HTTP/2, SSL client certificate validation was not enforced, allowing unauthorized access to protected resources over HTTP/2.

Expat Library

CVE-2016-0718: Fix crash on malformed input
CVE-2016-4472: Correct fix to 2.1.1 for CVE-2015-1283 / CVE-2015-2716 - Multiple integer overflows in XML_GetBuffer
CVE-2016-5300: Correct fix to CVE-2012-0876 - Use more entropy for hash initialization
CVE-2012-6702: Correct fix in 2.1.0 to CVE-2012-0876 - Hash DOS attack

PCRE Library

CVE-2016-1283: Fix buffer overflow bug involving nested duplicate named groups

LibXML2 Library

XMLSoft has not tracked CVE assignments to the the 2.9.4 release notes, please see the changes list for security defects resolved. Note that this affects only the content proxied through the mod_proxy_html module.