Release Notes for Version 6.2.3

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

(based on Apache HTTP Server 2.4.25)

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; 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.3 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.3, 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.3 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.3 Components Updated

  • Apache HTTP Server 2.4.25
  • Apache Tomcat mod_jk connector 1.2.42
  • Apache Tomcat tcnative connector 1.2.10
  • nghttp2 1.18.0
  • OpenSSL 1.0.2j

Pivotal Web Server 6.2.3 Security Issues Addressed

Apache HTTP Web Server

  • CVE-2016-8743 Enforce HTTP request grammar corresponding to RFC7230 for request lines and request headers, to prevent response splitting and cache pollution by malicious clients or downstream proxies.
  • CVE-2016-8740 mod_http2: Mitigate DoS memory exhaustion via endless CONTINUATION frames.
  • CVE-2016-5387 core: Mitigate [f]cgi “httpoxy” issues.
  • CVE-2016-2161 mod_auth_digest: Prevent segfaults during client entry allocation when shared memory space is exhausted.
  • CVE-2016-0736 mod_session_crypto: Authenticate the session data/cookie with a MAC (SipHash) to prevent deciphering or tampering with a padding oracle attack.

Refer to https://httpd.apache.org/security/vulnerabilities_24.html

OpenSSL Library

  • CVE-2016-0701: DH small subgroups
  • CVE-2015-3197: SSLv2 doesn’t block disabled ciphers
  • CVE-2016-0800: Cross-protocol attack on TLS using SSLv2 (DROWN)
  • CVE-2016-0798: Memory leak in SRP database lookups
  • CVE-2016-0797: BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption
  • CVE-2016-0799: Fix memory issues in BIO_*printf functions
  • CVE-2016-0702: Side channel attack on modular exponentiation
  • CVE-2016-2107: Padding oracle in AES-NI CBC MAC check
  • CVE-2016-2105: EVP_EncodeUpdate overflow
  • CVE-2016-2106: EVP_EncryptUpdate overflow
  • CVE-2016-2109: ASN.1 BIO excessive memory allocation
  • CVE-2016-2183: SWEET32 Mitigation
  • CVE-2016-6303: OOB write in MDC2_Update()
  • CVE-2016-6302: Malformed SHA512 ticket DoS
  • CVE-2016-2182: OOB write in BN_bn2dec()
  • CVE-2016-2180: OOB read in TS_OBJ_print_bio()
  • CVE-2016-2177: Pointer arithmetic undefined behaviour
  • CVE-2016-2178: Constant time flag not preserved in DSA signing
  • CVE-2016-2179: DTLS buffered message DoS
  • CVE-2016-2181: DTLS replay protection DoS
  • CVE-2016-6306: Certificate message OOB reads
  • CVE-2016-7052: Missing CRL sanity check

Refer to https://www.openssl.org/news/vulnerabilities.html