Skip to main content
← All vulnerabilities
CVE-2018-8039GHSA-JC7R-V6FG-2GPF

It is possible to configure Apache CXF to use the com.sun.net.ssl implementation via 'System.setProperty("java.protocol.handler.pkgs", "com.

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.2.5, 3.1.16
1 proof of concept on GitHub

Summary

It is possible to configure Apache CXF to use the com.sun.net.ssl implementation via 'System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");'. When this system property is set, CXF uses some reflection to try to make the HostnameVerifier work with the old com.sun.net.ssl.HostnameVerifier interface. However, the default HostnameVerifier implementation in CXF does not implement the method in this interface, and an exception is thrown. However, in Apache CXF prior to 3.2.5 and 3.1.16 the exception is caught in the reflection code and not properly propagated. What this means is that if you are using the com.sun.net.ssl stack with CXF, an error with TLS hostname verification will not be thrown, leaving a CXF client subject to man-in-the-middle attacks.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Apache Software Foundation Apache CXF

    prior to 3.1.16, 3.2.x prior to 3.2.5

  • org.apache.cxf:cxf-rt-transports-httpMaven

    From 3.2.0 · fixed in 3.2.5

  • org.apache.cxf:cxf-rt-transports-httpMaven

    fixed in 3.1.16

  • org.apache.cxf:apache-cxfMaven

    From 3.2.0 · fixed in 3.2.5

  • org.apache.cxf:apache-cxfMaven

    fixed in 3.1.16

References 25

GitHub · apache/cxf

access.redhat.com

lists.apache.org

securityfocus.com

cxf.apache.org

securitytracker.com

oracle.com

GitHub · tafamace/CVE-2018-8039