Bug 1328210 (CVE-2016-3427) - CVE-2016-3427 OpenJDK: unrestricted deserialization of authentication credentials (JMX, 8144430)
Summary: CVE-2016-3427 OpenJDK: unrestricted deserialization of authentication credent...
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2016-3427
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
urgent
urgent
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 1324915
TreeView+ depends on / blocked
 
Reported: 2016-04-18 17:55 UTC by Tomas Hoger
Modified: 2021-02-17 04:02 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
It was discovered that the RMI server implementation in the JMX component in OpenJDK did not restrict which classes can be deserialized when deserializing authentication credentials. A remote, unauthenticated attacker able to connect to a JMX port could possibly use this flaw to trigger deserialization flaws.
Clone Of:
Environment:
Last Closed: 2016-05-11 15:53:55 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2016:0650 0 normal SHIPPED_LIVE Critical: java-1.8.0-openjdk security update 2016-05-23 09:28:59 UTC
Red Hat Product Errata RHSA-2016:0651 0 normal SHIPPED_LIVE Critical: java-1.8.0-openjdk security update 2016-04-20 23:34:50 UTC
Red Hat Product Errata RHSA-2016:0675 0 normal SHIPPED_LIVE Critical: java-1.7.0-openjdk security update 2016-04-21 18:42:51 UTC
Red Hat Product Errata RHSA-2016:0676 0 normal SHIPPED_LIVE Critical: java-1.7.0-openjdk security update 2016-04-21 17:46:03 UTC
Red Hat Product Errata RHSA-2016:0677 0 normal SHIPPED_LIVE Critical: java-1.8.0-oracle security update 2017-12-14 23:08:38 UTC
Red Hat Product Errata RHSA-2016:0678 0 normal SHIPPED_LIVE Critical: java-1.7.0-oracle security update 2017-12-15 03:08:48 UTC
Red Hat Product Errata RHSA-2016:0679 0 normal SHIPPED_LIVE Critical: java-1.6.0-sun security update 2017-12-14 20:20:57 UTC
Red Hat Product Errata RHSA-2016:0701 0 normal SHIPPED_LIVE Critical: java-1.7.1-ibm security update 2016-04-29 21:50:18 UTC
Red Hat Product Errata RHSA-2016:0702 0 normal SHIPPED_LIVE Critical: java-1.7.0-ibm security update 2016-04-29 21:50:30 UTC
Red Hat Product Errata RHSA-2016:0708 0 normal SHIPPED_LIVE Critical: java-1.6.0-ibm security update 2016-05-02 17:11:55 UTC
Red Hat Product Errata RHSA-2016:0716 0 normal SHIPPED_LIVE Critical: java-1.8.0-ibm security update 2016-05-03 22:35:33 UTC
Red Hat Product Errata RHSA-2016:0723 0 normal SHIPPED_LIVE Critical: java-1.6.0-openjdk security update 2016-05-09 18:04:06 UTC
Red Hat Product Errata RHSA-2016:1039 0 normal SHIPPED_LIVE Critical: java-1.8.0-ibm security update 2016-05-11 18:09:07 UTC
Red Hat Product Errata RHSA-2016:1430 0 normal SHIPPED_LIVE Moderate: java-1.7.0-ibm and java-1.7.1-ibm security update 2016-07-18 17:51:35 UTC
Red Hat Product Errata RHSA-2017:1216 0 normal SHIPPED_LIVE Moderate: java-1.7.1-ibm security update 2017-05-09 20:41:26 UTC

Description Tomas Hoger 2016-04-18 17:55:21 UTC
It was discovered that the RMI (Java Remote Method Invocation) server implementation in the JMX (Java Management Extensions) component of OpenJDK did not restrict which classes can be deserialized when deserializing authentication credentials.  A remote unauthenticated attacker able to connect to a JMX port could possibly use this flaw trigger deserialization flaws.

Comment 1 Tomas Hoger 2016-04-19 19:08:02 UTC
Related note in Oracle JDK release notes:

  New attribute for JMX RMI JRMP servers specifies a list of class names to
  use when deserializing server credentials

  A new java attribute has been defined for the environment to allow a JMX
  RMI JRMP server to specify a list of class names. These names correspond
  to the closure of class names that are expected by the server when
  deserializing credentials. For instance, if the expected credentials were
  a List<string>, then the closure would constitute all the concrete classes
  that should be expected in the serial form of a list of Strings.

  By default, this attribute is used only by the default agent with the
  following:

  {   
    "[Ljava.lang.String;",   
    "java.lang.String" 
  } 

  Only arrays of Strings and Strings will be accepted when deserializing the
  credentials. 

  The attribute name is:

  "jmx.remote.rmi.server.credential.types"

  The following is an example of a user starting a server with the specified
  credentials class names:

  Map<String, Object> env = new HashMap<>(1);
   env.put ( 
   "jmx.remote.rmi.server.credential.types",
     new String[]{
       String[].class.getName(),
       String.class.getName()
     }
   );
   JMXConnectorServer server
     = JMXConnectorServerFactory.newJMXConnectorServer(url, env, mbeanServer);

  The new feature should be used by directly specifying: 

  "jmx.remote.rmi.server.credential.types" 

  JDK-8144430 (not public)

http://www.oracle.com/technetwork/java/javase/8u91-relnotes-2949462.html
http://www.oracle.com/technetwork/java/javaseproducts/documentation/javase7supportreleasenotes-1601161.html#R170_101
http://www.oracle.com/technetwork/java/javase/documentation/overview-156328.html#R160_115

Comment 2 Tomas Hoger 2016-04-19 20:59:24 UTC
Public now via Oracle Critical Patch Update - April 2016.  Fixed in Oracle Java SE 6u115, 7u101, and 8u91.

External References:

http://www.oracle.com/technetwork/topics/security/cpuapr2016-2881694.html#AppendixJAVA

Comment 3 errata-xmlrpc 2016-04-20 19:35:55 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6

Via RHSA-2016:0651 https://rhn.redhat.com/errata/RHSA-2016-0651.html

Comment 4 errata-xmlrpc 2016-04-20 19:36:32 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2016:0650 https://rhn.redhat.com/errata/RHSA-2016-0650.html

Comment 5 errata-xmlrpc 2016-04-21 13:46:50 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 5
  Red Hat Enterprise Linux 7

Via RHSA-2016:0676 https://rhn.redhat.com/errata/RHSA-2016-0676.html

Comment 6 errata-xmlrpc 2016-04-21 14:43:37 UTC
This issue has been addressed in the following products:

  Oracle Java for Red Hat Enterprise Linux 6
  Oracle Java for Red Hat Enterprise Linux 7

Via RHSA-2016:0677 https://rhn.redhat.com/errata/RHSA-2016-0677.html

Comment 7 errata-xmlrpc 2016-04-21 14:44:38 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6

Via RHSA-2016:0675 https://rhn.redhat.com/errata/RHSA-2016-0675.html

Comment 8 errata-xmlrpc 2016-04-21 14:59:11 UTC
This issue has been addressed in the following products:

  Oracle Java for Red Hat Enterprise Linux 7
  Oracle Java for Red Hat Enterprise Linux 5
  Oracle Java for Red Hat Enterprise Linux 6

Via RHSA-2016:0679 https://rhn.redhat.com/errata/RHSA-2016-0679.html

Comment 9 errata-xmlrpc 2016-04-21 15:00:08 UTC
This issue has been addressed in the following products:

  Oracle Java for Red Hat Enterprise Linux 5
  Oracle Java for Red Hat Enterprise Linux 6
  Oracle Java for Red Hat Enterprise Linux 7

Via RHSA-2016:0678 https://rhn.redhat.com/errata/RHSA-2016-0678.html

Comment 10 Tomas Hoger 2016-04-21 19:49:18 UTC
OpenJDK8 upstream commit:

http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/32f64c19b5fb

Comment 11 errata-xmlrpc 2016-04-29 17:51:06 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7 Supplementary
  Red Hat Enterprise Linux 6 Supplementary

Via RHSA-2016:0701 https://rhn.redhat.com/errata/RHSA-2016-0701.html

Comment 12 errata-xmlrpc 2016-04-29 17:52:24 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 5 Supplementary

Via RHSA-2016:0702 https://rhn.redhat.com/errata/RHSA-2016-0702.html

Comment 13 errata-xmlrpc 2016-05-02 13:12:38 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6 Supplementary
  Red Hat Enterprise Linux 5 Supplementary

Via RHSA-2016:0708 https://rhn.redhat.com/errata/RHSA-2016-0708.html

Comment 14 errata-xmlrpc 2016-05-03 18:36:05 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7 Supplementary

Via RHSA-2016:0716 https://rhn.redhat.com/errata/RHSA-2016-0716.html

Comment 15 errata-xmlrpc 2016-05-09 14:05:34 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7
  Red Hat Enterprise Linux 5
  Red Hat Enterprise Linux 6

Via RHSA-2016:0723 https://rhn.redhat.com/errata/RHSA-2016-0723.html

Comment 16 errata-xmlrpc 2016-05-11 14:09:45 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6 Supplementary

Via RHSA-2016:1039 https://rhn.redhat.com/errata/RHSA-2016-1039.html

Comment 17 errata-xmlrpc 2016-07-18 13:57:44 UTC
This issue has been addressed in the following products:

  Red Hat Satellite 5.6
  Red Hat Satellite 5.7

Via RHSA-2016:1430 https://access.redhat.com/errata/RHSA-2016:1430

Comment 18 errata-xmlrpc 2017-05-09 16:44:27 UTC
This issue has been addressed in the following products:

  Red Hat Satellite 5.6
  Red Hat Satellite 5.7

Via RHSA-2017:1216 https://access.redhat.com/errata/RHSA-2017:1216


Note You need to log in before you can comment on or make changes to this bug.