Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8241248

NullPointerException in sun.security.ssl.HKDF.extract(HKDF.java:93)

    Details

      Description

      ADDITIONAL SYSTEM INFORMATION :
      Ubuntu 18.04, Tomcat 9.0.30

      A DESCRIPTION OF THE PROBLEM :
      Running a Tomcat server with TLSv1.2 and TLSv1.3 only enabled I see the following stack traces in the logs:

      Jan 30, 2020 8:47:54 PM org.apache.tomcat.util.net.NioEndpoint$SocketProcessor doRun
      SEVERE: Error running socket processor
      java.lang.NullPointerException
              at java.base/sun.security.ssl.HKDF.extract(HKDF.java:93)
              at java.base/sun.security.ssl.HKDF.extract(HKDF.java:119)
              at java.base/sun.security.ssl.ServerHello.setUpPskKD(ServerHello.java:1203)
              at java.base/sun.security.ssl.ServerHello$T13ServerHelloProducer.produce(ServerHello.java:559)
              at java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:440)
              at java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.goServerHello(ClientHello.java:1252)
              at java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.consume(ClientHello.java:1188)
              at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:851)
              at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:812)
              at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396)
              at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)
              at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1260)
              at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1247)
              at java.base/java.security.AccessController.doPrivileged(AccessController.java:691)
              at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1192)
              at org.apache.tomcat.util.net.SecureNioChannel.tasks(SecureNioChannel.java:443)
              at org.apache.tomcat.util.net.SecureNioChannel.handshakeUnwrap(SecureNioChannel.java:507)
              at org.apache.tomcat.util.net.SecureNioChannel.handshake(SecureNioChannel.java:238)
              at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
              at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
              at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
              at java.base/java.lang.Thread.run(Thread.java:830)


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      According to Tomcat developers (https://bz.apache.org/bugzilla/show_bug.cgi?id=64105) this is related to TLSv1.3 clients. I'm not sure which client triggers it, at the moment I don't have a way to reliably trigger this bug.


      FREQUENCY : occasionally

      WORKAROUND:
      Disable TLSv1.3 and running with TLSv1.2 only. Or use OpenSSL for the encryption.

        Attachments

          Activity

            People

            • Assignee:
              jnimeh Jamil Nimeh
              Reporter:
              pnarayanaswa Praveen Narayanaswamy
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: